3

我正在使用 jQuery 1.7.1。连同Ajax Form 插件,最新版本可用。当我执行 Ajax 请求时,例如:

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

如果请求返回错误,IE(在我的例子中是 IE9)将始终为 Content-type 标头或任何其他标头返回 undefined 。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 中规避这种行为的任何想法?

4

1 回答 1

3

我有一个类似的问题。由于某种原因,IE 不会检索头部,除非您在使用 GET 时未更改的静态页面上明确要求它。将 ajax 类型更改为“HEAD”而不是 GET 或 POST,它应该会拉取响应标头。

于 2012-11-23T18:53:12.183 回答