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

发布于 2024-10-12 06:47:31 字数 591 浏览 1 评论 0原文

我在使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

执妄 2024-10-19 06:47:31

你的 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.

淑女气质 2024-10-19 06:47:31

确保您也在浏览器中从 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.

忆梦 2024-10-19 06:47:31

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

如果是这种情况,您可以尝试以下操作:

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

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 :

$.getJSON("http://" + location.host + "/search_agenda",
  {'edition': edition,
  'categories': categories},
  function(data){
    console.log(data);
  }
);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文