2012-05-18 7 views
3

jQuery 1.7.1을 사용하고 있습니다. Ajax Form plugin과 함께 최신 버전을 사용할 수 있습니다. 요청이 항상 컨텐츠 유형 헤더 또는 그 문제에 대한 모든 다른 헤더 정의되지 않은 반환합니다 (내 경우, IE9) 오류, IE를 반환하는 경우jQuery : getResponseHeader가 IE에서 작동하지 않습니다. 오류 함수

$('form').ajaxForm (
{ 
    success: function (data) 
    { 
     alert (data.responseText); 
    }, 
    error: function (data, status, error) 
    { 
     alert (data.getResponseHeader('Content-type')); 
    } 
} 
); 

: 나는 같은 Ajax 요청을 수행합니다. data.responseText 속성은 null도 반환합니다. Gecko 또는 Webkit 브라우저의 경우는 그렇지 않습니다.

은 Ajax 요청이 반환하는 응답 헤더의 예입니다 :

Response   HTTP/1.1 400 Bad Request 
Date    Fri, 18 May 2012 08:15:32 GMT 
Server   Apache/2.2.14 (Ubuntu) 
X-Powered-By  PHP/5.3.2-1ubuntu4.15 
Expires   Thu, 19 Nov 1981 08:52:00 GMT 
Cache-Control no-store, no-cache, must-revalidate, post-check=0, pre-check=0 
Pragma   no-cache 
Connection  close 
Content-Type  text/html 

IE에서이 문제를 회피하는 방법에 대한 어떤 생각?

답변

3

비슷한 문제가있었습니다. 어떤 이유로 IE는 GET을 사용할 때 변경되지 않은 정적 페이지에서 명시 적으로 요청하지 않으면 헤드를 검색하지 않습니다. ajax 형식을 GET 또는 POST 대신 "HEAD"로 변경하면 응답 헤더를 가져와야합니다.

+0

문제는 RESTful 서버를 사용하고 있으며 GET 또는 POST 대신 HEAD로 요청 방법을 변경하면 좋지 않을 것입니다. 여전히 jQuery 1.9.0과 동일한 문제가 있습니다. 문제가 IE 측에 있다는 것은 분명합니다. BTW, 더 일찍 대답하지 않아서 미안해. 내 잘못이야. – delolmo