我有一个调用来获取JSON对象(它恰好是Domino视图的内容),然后我将对其解析以进行显示。匿名函数中包含代码,但此处不相关,因为它永远不会被调用。逐步调试(我使用的是Chrome),执行过程直接从$ .get跳至下一行,而无需进入成功处理程序。无论我使用.get()还是.getJSON(),行为都是相同的。
$.get(strURL,
function(data) {}
)
我已经测试了URL,并通过JSONLint确认它正在返回有效的JSON。如何确定导致故障的原因?
AJAX请求无法从其他域,子域,端口或协议成功检索数据。您是否要从其他域访问数据?
另一个建议是尝试添加代码以捕获其他事件,如下所示
$.get(strURL, function(data) { alert( "success" );})
.done(function() {alert( "second success" );})
.fail(function() {alert( "error" );})
.always(function() { alert( "finished" ); });
[Ohgodwhy建议检查“网络”选项卡给了我我想要的-毕竟不是jQuery问题,而是与Chrome开发工具的熟悉程度。
谢谢!
您可以获得响应,但不是JSON,例如,在使用Domino时显示“找不到文档”。您可以使用responseText属性获取有关错误的详细信息。
.fail(function( jqXHR, textStatus, error ) {
alert( "Request failed: " + textStatus + " responseText: " + jqXHR.responseText);
});
注意,这几乎是@artm所说的,只是在这里给出代码。