jQuery .get()无声地失败 - 我怎么找出原因?

时间:2015-12-03 04:22:09

标签: jquery json lotus-domino

我有一个调用来获取一个JSON对象(它恰好是Domino视图的内容),然后我将解析它以进行显示。匿名函数中包含代码,但这与此无关,因为它永远不会被调用。在调试中逐步执行(我正在使用Chrome),执行会直接从$ .get跳到下一行,而无需进入成功处理程序。无论我使用.get()还是.getJSON()。

,行为都是一样的
$.get(strURL,
    function(data) {}
)

我测试了URL,并通过JSONLint确认它返回了有效的JSON。如何确定导致失败的原因?

3 个答案:

答案 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所说的,只是给了这个代码。