jQuery $.getJSON:“无法加载资源:已取消”
我在使用 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);
}
});
I'm having problem loading a json resource from a local rails app with jQuery 1.4.4
The json is valid (based on jsonlint.com) and I can download it properly if I'm requesting it from other sources.
In webkit (Safari), I got this error:
Failed to load resource: cancelled
Response Header on Firebug:
Content-Type application/json; charset=utf-8
Set-Cookie geoloc=toulouse; path=/;
Connection close
Server thin 1.2.7 codename No Hup
jQuery code to load json:
$.getJSON("http://127.0.0.1/search_agenda",
{'edition': edition,
'categories': categories},
function(data){
console.log(data);
}
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
你的 getJSON 对我来说似乎是正确的。
我有同样的错误。这实际上是由于 jquery mobile 造成的。我还没有深入了解它,但基本上,即使我只是在空白 html 页面中包含 jquery 移动库,我也会收到此错误。
我怀疑 jquery.js 和 jquery_mobile.js 是不兼容的版本。当我找出真正的原因时,我会回来查看。
Your getJSON seems correct to me.
I had the same error. And it actually is due to jquery mobile. I haven't gotten to the bottom of it, but basically I get this error even if I just include the jquery mobile libraries in a blank html page.
I suspect that the jquery.js and jquery_mobile.js are incompatible versions. I will check back when I find out the real reason.
确保您也在浏览器中从 http://127.0.0.1/ 加载页面。无论如何,使用相对路径总是一个更好的选择。
Ensure that you're loading the page from http://127.0.0.1/ in your browser too. Anyway, it's always a better option to use relative paths.
尝试输入相对路径。不同域之间禁止 Ajax 调用,因此您的浏览器可能会认为您的应用位于
localhost
域中,而请求位于不同的域 (127.0.0.1
) 中。如果是这种情况,您可以尝试以下操作:
try putting a relative path. Ajax calls are forbidden between different domains, so your browser may think that your app is on the
localhost
domain and the request is in a different one (127.0.0.1
).If this is the case, you can try something like :