jQuery .get()静默失败-我如何找出原因?

问题描述 投票:0回答:3

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

$.get(strURL,
    function(data) {}
)

我已经测试了URL,并通过JSONLint确认它正在返回有效的JSON。如何确定导致故障的原因?

jquery json lotus-domino
3个回答
2
投票

AJAX请求无法从其他域,子域,端口或协议成功检索数据。您是否要从其他域访问数据?

另一个建议是尝试添加代码以捕获其他事件,如下所示

$.get(strURL, function(data) {  alert( "success" );})
.done(function() {alert( "second success" );})
.fail(function() {alert( "error" );})  
.always(function() {    alert( "finished" ); });

1
投票

[Ohgodwhy建议检查“网络”选项卡给了我我想要的-毕竟不是jQuery问题,而是与Chrome开发工具的熟悉程度。

谢谢!


0
投票

您可以获得响应,但不是JSON,例如,在使用Domino时显示“找不到文档”。您可以使用responseText属性获取有关错误的详细信息。

.fail(function( jqXHR, textStatus, error ) {
  alert( "Request failed: " + textStatus + " responseText: " + jqXHR.responseText);
});

注意,这几乎是@artm所说的,只是在这里给出代码。

© www.soinside.com 2019 - 2024. All rights reserved.