【问题标题】:2 JSONP Requests Called. 1 Works, But Another Returns Parsererror调用了 2 个 JSONP 请求。 1 有效,但另一个返回 Parsererror
【发布时间】:2012-06-13 17:59:54
【问题描述】:

参考链接:http://jsfiddle.net/LS8zs/

我尝试使用来自 Kongregate.com 的 api 的 jQuery .ajax() 获取 JSON 数据

“获取用户徽章”有效。 (请点击尝试)

但“获取所有徽章”没有。 代码基本相同。但是出现错误:

parsererror : Error: jQuery17209025343011599034_1339162861022 was not called

我还尝试将?callback=foo 添加到 URL 的末尾,但没有成功。

有人能帮帮我吗?

我是编程新手。我想我错过了关于同源政策的一些东西,对吧?

或者 api 只是不支持通过 javascript/jQuery 进行 ajax 调用?

请注意,我使用 Ruby On Rails 3.2 来开发 Web 应用程序。我应该使用 ROR 来获取 JSON 数据吗? (在最佳实践中)

提前致谢。

【问题讨论】:

    标签: jquery ajax json jsonp


    【解决方案1】:

    只需输入:

    http://www.kongregate.com/badges.json?callback=foo

    进入浏览器不会返回 JSONP。但它适用于:

    http://www.kongregate.com/accounts/andrew/badges.json?callback=foo

    所以我猜第一个 URL 根本不支持 JSONP 回调。

    如果 jQuery 正确处理 JSONP 请求,同源策略应该无关紧要。

    【讨论】:

    • 那么,解决方案是在服务器端获取 JSON 数据吗?例如rails,php...谢谢!
    • 是的,您的服务器上似乎需要某种代理。例如 www.myserver.com/kongregate/badges.json 可以返回 www.kongregate.com/badges.json 的结果。
    • 感谢您的推荐!!现在是我深入研究 Ruby on Rails 的时候了:D
    猜你喜欢
    • 2015-03-11
    • 2015-10-20
    • 2012-03-26
    • 2013-10-26
    • 2011-06-30
    • 1970-01-01
    • 2013-12-07
    • 2019-02-03
    • 2011-12-15
    相关资源
    最近更新 更多