【问题标题】:jQuery AJAX and Google Currency calculatorjQuery AJAX 和谷歌货币计算器
【发布时间】:2011-08-23 18:55:39
【问题描述】:

我有一些代码对谷歌货币计算器执行 AJAX 调用。理论上应该返回一个 JSON 数组,我可以用它来获取一些与汇率相关的数据。

链接是:

http://www.google.com/ig/calculator?hl=en&q=1USD=?CNY

转到链接显示

{lhs: "1 美元",rhs: "6.49148317 人民币",error: "",icc: true}

我的 javascript 代码(我对 POST 和 GET 都感到厌烦):

jQuery.ajax({
    type: "GET",
    url: "http://www.google.com/ig/calculator",
    data: "hl=en&q=1USD=?CNY",
    success: function(msg) {
        var currency = $.parseJSON(msg);
        alert (currency ['rhs'];);
   }
});

检查火虫以红色显示,响应为空

GET http://www.google.com/ig/calculator?hl=en&q=1USD=?CNY 200 OK 255ms

我做错了什么?

【问题讨论】:

    标签: javascript jquery currency


    【解决方案1】:

    据我们所知,谷歌从 2013 年 11 月 1 日起停止了 iGoogle 的服务。

    但是我们可以使用https://www.google.com/finance/converter来获取实时数据。

    下面的 jquery 示例对你有用。

        function CurrencyConvetor(amount, from, to) {
        var result = '';
        var url = "https://www.google.com/finance/converter?a=" + amount + "&from=" + from + "&to=" + to;
        $.ajaxSetup({async: false});
        $.get(url,
            function (data) {
                var startPos = data.search('<div id=currency_converter_result>');
                var endPos = data.search('<input type=submit value="Convert">');
                if (startPos > 0) {
                    result = data.substring(startPos, endPos);
                    result = result.replace('<div id=currency_converter_result>', '');
                    result = result.replace('<span class=bld>', '');
                    result = result.replace('</span>', '');
                }
        })
        return result;
    }
    

    【讨论】:

      【解决方案2】:

      听说 google 从 11 月 1 日起停止了 iGoogle 的服务。 该链接不再有效。

      【讨论】:

        【解决方案3】:

        您不能使用 jQuery 执行跨域请求。您需要使用 JSONP 来执行此请求。这些链接可能会有所帮助:

        http://api.jquery.com/jQuery.getJSON/#jsonp

        jsonp with jquery

        JSONP 请求不受同源策略限制。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-11-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-03-09
          • 2018-11-12
          相关资源
          最近更新 更多