【问题标题】:YQL Request in IE8IE8 中的 YQL 请求
【发布时间】:2013-09-12 20:32:22
【问题描述】:

我一直在努力让它工作一段时间。基本上我想通过 YQL 资源从 Yahoo 获取信息。我让它适用于除 IE 之外的所有浏览器。 (IE8是我唯一测试过的,但它是必须的)。

A fiddle here.

$.ajax({
    type: 'GET',
    dataType: 'jsonp',
    crossDomain: true,
    url: 'http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20json%20where%20url%3D%22http%3A%2F%2Ffinance.yahoo.com%2Fwebservice%2Fv1%2Fsymbols%2Fyhoo%2Fquote%3Fformat%3Djson%22%20and%20itemPath%20%3D%20%22list.resources.resource.fields%22&format=xml&callback=?',
    success: function(data) {
        console.log(data);
        name = $($(data.results[0]).find('name')[0]).text();
        symbol = $($(data.results[0]).find('symbol')[0]).text();
        price = $($(data.results[0]).find('price')[0]).text();
        price = parseInt(price);
        $('body').append(name + '; ' + symbol + '; ' + price);
    }
});

YQL 请求(用于控制台):

select * from json where url="http://finance.yahoo.com/webservice/v1/symbols/yhoo/quote?format=json" and itemPath = "list.resources.resource.fields"

这是一个简单的 Ajax get 调用,但我似乎无法访问 IE8 来处理数据。 (您在 URL 中看到的返回数据类型无关紧要——我已经用 XML 和 JSON 尝试过)。我错过了什么吗?或者这甚至可能吗?

【问题讨论】:

    标签: javascript jquery ajax yql


    【解决方案1】:

    在您的示例中,您使用的是jQuery-2.0.2,但由于jQuery-2.0 它放弃了对IE-6/7/8 的支持。来自jQuery 2.0 Released | Official jQuery Blog

    不再支持 IE 6/7/8: 请记住,这也会影响 IE9 甚至 IE10,如果它们在“兼容性视图”模式下使用的话 模拟旧版本。为了防止这些较新的 IE 版本 回到史前模式,我们建议您始终使用 X-UA-Compatible 标记或 HTTP 标头。如果您可以使用 HTTP 标头它 性能稍好一些,因为它避免了潜在的 浏览器解析器重启。

    这里是a working fiddle 使用jQuery-1.9.1

    【讨论】:

    • 是的,我不知道为什么我没有那个。我在本地测试中有它,但我认为我使用了错误的 YQL 服务。
    猜你喜欢
    • 1970-01-01
    • 2023-03-15
    • 2018-02-03
    • 1970-01-01
    • 1970-01-01
    • 2012-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多