我正在使用 jQuery 1.7.1。随着Ajax 表单插件 http://jquery.malsup.com/form/,最新版本可用。当我执行 Ajax 请求时,例如:
$('form').ajaxForm (
{
success: function ( data )
{
alert ( data.responseText );
},
error: function ( data, status, error )
{
alert ( data.getResponseHeader('Content-type') );
}
}
);
如果请求返回错误,IE(在我的例子中为 IE9)将始终为 Content-type 标头或与此相关的任何其他标头返回未定义。 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 中规避这种行为吗?
我有类似的问题。由于某种原因,IE 不会检索头部,除非您在使用 GET 时未更改的静态页面上明确请求它。将 ajax 类型更改为“HEAD”而不是 GET 或 POST,它应该提取响应标头。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)