我在使用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);
}
});
答案 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);
}
);