jQuery $ .getJSON:“无法加载资源:已取消”

时间:2011-01-18 10:58:49

标签: jquery ajax json jquery-mobile

我在使用jQuery 1.4.4从本地rails应用程序加载json资源时遇到问题

json是有效的(基于jsonlint.com),如果我从其他来源请求它,我可以正确下载它。

在webkit(Safari)中,我收到了这个错误:

Failed to load resource: cancelled

Firebug上的响应标题:

Content-Type application/json; charset=utf-8
Set-Cookie geoloc=toulouse; path=/;
Connection close
Server thin 1.2.7 codename No Hup

加载json的jQuery代码:

$.getJSON("http://127.0.0.1/search_agenda",
  {'edition': edition,
  'categories': categories},
  function(data){
    console.log(data);
  }
});

4 个答案:

答案 0 :(得分:1)

你的getJSON对我来说似乎是正确的。

我有同样的错误。它实际上是由于jquery移动。我没有深究它,但基本上我得到这个错误,即使我只是将jquery移动库包含在一个空白的html页面中。

我怀疑jquery.js和jquery_mobile.js是不兼容的版本。当我找到真正的原因时,我会回来查看。

答案 1 :(得分:0)

确保您也在浏览器中从http://127.0.0.1/加载页面。无论如何,使用相对路径总是更好的选择。

答案 2 :(得分:0)

尝试从键中删除单引号并将其添加到json结构的值中。 编辑:确定忘记值中的引号,因为它们可能是变量。

答案 3 :(得分:0)

尝试放置相对路径。不同域之间禁止Ajax调用,因此您的浏览器可能认为您的应用位于localhost域,而请求位于不同的域(127.0.0.1)。

如果是这种情况,您可以尝试以下方式:

$.getJSON("http://" + location.host + "/search_agenda",
  {'edition': edition,
  'categories': categories},
  function(data){
    console.log(data);
  }
);