在下面的代码中,我所要做的就是从jQuery.ajax调用中获取HTTP响应代码。然后,如果代码为301(永久移动),则显示“位置”响应标题:
<;?xml version=“1.0”encoding=“utf-8”?>;
<;!DOCTYPE html PUBLIC“-//W3C//DTD XHTML 1.0 Strict//EN”
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd“>;
<;html xmlns=”http://www.w3.org/1999/xhtml“xml:lang=“en”lang=“en”>;
<;头>;
<;标题>;jquery301试用版</标题>;
<;脚本src=”http://code.jquery.com/jquery-1.5.1.min.js“></脚本>;
<;script type=“text/javascript”>;
函数get_resp_status(url){
$.ajax({
url:url,
完成:功能(jqxhr、txt_状态){
console.log(“完成:[“+txt_status+”]“+jqxhr”);
//if(响应代码为301){
console.log(“位置:+jqxhr.getResponseHeader(“位置”);
// }
}
});
}
</脚本>;
<;script type=“text/javascript”>;
$(文档).ready(函数(){
$('a')。鼠标指针(
函数(){
获取_resp_状态(this.href);
},
函数(){
}
);
});
</脚本>;
</头>;
<;车身>;
<;a href=”http://ow.ly/4etPl“>;测试301重定向</a>;
<;a href=”http://cnn.com/not_found“>;未找到测试404</a>;
</车身>;
</html>;
有人能指出我哪里出了问题吗?当我在Firebug中检查“jqxhr”对象时,我找不到状态代码,也找不到“Location”响应头。我在“complete”的最后一行设置了断点
多谢
我看到jqXhr对象上的状态字段,这里有一个正在工作的小提琴:
http://jsfiddle.net/magicaj/55HQq/3/
$.ajax({
//...
成功:函数(数据、文本状态、xhr){
控制台日志(xhr.status);
},
完成:功能(xhr、textStatus){
控制台日志(xhr.status);
}
});