我对jQuery ajax请求有一个非常特殊的问题。
当用户浏览网页的各个部分时,有jquery get()调用来获取一些内容。 问题是那些请求在随机场合停止工作。 当我在firebug中检查请求响应时,请求状态为200 OK,但是firebug请求的颜色为红色,就像出现错误一样,但没有错误消息。
firebug中的响应选项卡为空。
问题是我通常会访问这些网址,而不是ajax,内容会正常返回。
所以,如果我重新启动浏览器,那就再好了, 我正在使用jquery 1.7.1和jquery.effects.core.js
这是我提出请求的地方:
$.get('abc', function(data) {
...
}).error(function(xhr, status, error) { alert("An AJAX error occured: " + status + "\nError: " + error);});
当问题发生时调用警报并且'status'变量的值为'error'且'error'变量为空字符串...
我真的不知道会出现什么问题。一些帮助将不胜感激
答案 0 :(得分:3)
请记住始终捕获错误并报告错误,以便您可以在不猜测问题的情况下找到问题:
$.ajax({
url : '<url>',
success : function (serverResponse) { ... },
error : function (jqXHR, textStatus, errorThrown) {
if (typeof console == 'object' && typeof console.log == 'function') {
console.log(jqXHR);
console.log(textStatus);
console.log(errorThrown);
}
}
});
这会检查以确保console.log
存在并且在尝试使用它之前是一个函数。如果存在console.log
,那么这将记录与AJAX请求相关的所有错误信息。