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