【问题标题】:jquery getJSON/ajax gives no response from REST servicejquery getJSON/ajax 没有来自 REST 服务的响应
【发布时间】:2011-07-28 03:44:50
【问题描述】:

我正在尝试使用 Bing 地图 REST 服务来获取有关使用城市名称的城市位置的信息。虽然当我直接在浏览器中输入查询字符串时会返回响应,但我似乎无法在我的 jquery 代码中执行此操作。我有以下内容:

var cs = "san diego";
var qs = "http://dev.virtualearth.net/REST/v1/Locations?q=" + cs + "&type=xml&key=MY_BING_MAPS_KEY";
jQuery.getJSON(qs, function(hs){alert(hs)});

根据萤火虫我只是没有得到任何响应(响应代码是 200)。知道会发生什么吗?我的代码的其他部分还有其他 REST 调用,绝对没有问题。

使用 API 的文档在这里:http://msdn.microsoft.com/en-us/library/ff701711.aspx

谢谢!

**编辑:实际上有一种方法可以通过执行以下操作从 bing 地图中强制 JSONP 来克服这个问题:

$.ajax({
            url: "http://dev.virtualearth.net/REST/v1/Locations",
        dataType: "jsonp",
        data: {
            key: key,
            q: q
        },
        jsonp: "jsonp",
        success: function (data) {

        }
    });

**

【问题讨论】:

    标签: jquery ajax rest getjson


    【解决方案1】:

    您正在尝试进行跨域 ajax 调用,这意味着您正在对与运行您的应用程序的域不同的域进行 ajax 调用!你需要阅读如何做到这一点。 Here is a link

    【讨论】:

    • 感谢您的回复!我不明白的是,其他 getJSON 调用他们的 REST API 以获取例如路线方向的工作没有任何类似的解决方法?什么给了?
    • 看!最有可能的是,其他服务被配置为像这样工作(以便能够从任何地方使用 ajax 调用)。这看起来不是!
    • 谢谢,我明白了!其他 REST 服务似乎可以返回 JSONP,从而避免了这个问题。
    猜你喜欢
    • 1970-01-01
    • 2016-05-15
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-09
    相关资源
    最近更新 更多