如何找出JQuery ajax请求失败的原因
我有一个ajax请求,应该是好的,但是失败了。没有关于原因的信息。我的代码是:如何找出JQuery ajax请求失败的原因,jquery,ajax,Jquery,Ajax,我有一个ajax请求,应该是好的,但是失败了。没有关于原因的信息。我的代码是: $.getJSON( "http://localhost:62178/document?filename=c:/test/dave.docx", function( data ) { console.log("read = " + data); }).done(function(e) { console.log( "second success" ); }) .fail(function(e)
$.getJSON( "http://localhost:62178/document?filename=c:/test/dave.docx", function( data ) {
console.log("read = " + data);
}).done(function(e) {
console.log( "second success" );
})
.fail(function(e) {
console.log( "error" );
})
.always(function(e) {
console.log( "complete" );
});
根据fiddler的说法,REST查询返回一个200,返回的主体是我期望的JSON。它调用fail(e),对象e是一组函数,只有3个属性:
readyState:0
回应文字:“
状态文本:“错误”
生成的JSON是由ASP.NET Web API 2创建的,因此我非常确信它是有效的。它看起来确实有效。其形式如下:
{
success: true,
document: {
...
}
}
如何找出JQuery不满意的地方
更新:我解决了问题(跨域请求)。但我最初的问题仍然是,如何找出ajax请求从fail()函数中传递的变量失败的原因?您可以在getJSON调用之后使用.fail函数(就像您已经使用过的那样),并输出如下参数:
.fail(function(jqXHR, textStatus){ //ERROR
console.log('FAILURE: ' + textStatus);
console.log(jqXHR);
});
现在查看控制台,您可以看到textStatus,您将看到jqXHR对象。此对象包含可能有用的其他信息。让我知道这是否有效,或者是否有不清楚的地方!谢谢 在你失败的时候试着这样做
.fail(function(xhr){
Response.Write
alert(xhr.responseText);
}
嗨-我得到“xhr未定义”。回复的目的是什么?这不是有效的javascript语句。我不明白吗?function(e)
应该是function(xhr)
console.log(jqXHR);打印出“结果=未定义”,textStatus的值为“错误”。