【问题标题】:How to use $.getJSON() properly?如何正确使用 $.getJSON()?
【发布时间】:2011-08-12 12:56:32
【问题描述】:

我在本地主机上的$.getJSON() 遇到了非常奇怪的问题。我的测试代码如下:

$(document).ready(function(){
        var url = "http://script.mydomain.com/location/newid"
        var url2 = "http://localhost/cms/location/newid"

          $.getJSON(url2, function(id) {
                alert(id);
          });
});

对于 url2,它可以完美运行,但对于 url,它不起作用。谁能给出一些提示来解决这个问题?如果有人想知道,这些 url 会返回 json(例如:“34”)。

编辑 [已解决]:

如果将来有人使用$.getJSON,请记住您不能调用“外星人”域。

当我在script.mydomain.com 域下执行开销脚本时,一切正常!

【问题讨论】:

标签: jquery json httprequest getjson


【解决方案1】:

AJAX 请求受跨域策略限制。基本上,如果 ajax 请求不去原始站点所在的服务器,则不能执行它们。那时情况稍微复杂一些,但我会假设是这种情况。

【讨论】:

  • 好的,那么如何在 cw.uppercut.pl 上运行这个测试脚本并请求 location/newid ?
【解决方案2】:

您受限于浏览器安全性,只能从您自己的网站获取代码(jquery 使用 XMLHttpRequest 来获取 getJSON)。要绕过它,您需要使用 jsonp(jquery 添加脚本标签)或创建脚本标签并将其附加到您的文档中。

【讨论】:

    【解决方案3】:

    您尝试在浏览器 ajax-request 中从本地主机运行到域 cw.uppercut.pl 时遇到问题。

    这不是图书馆的问题。

    【讨论】:

    • 好的,那么如何在 cw.uppercut.pl 上运行这个测试脚本并请求 location/newid ?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-27
    • 2023-03-26
    • 2013-02-03
    相关资源
    最近更新 更多