IE8中的YQL请求

时间:2013-09-12 20:32:22

标签: javascript jquery ajax yql

我一直在努力让这个工作一段时间。基本上我想通过YQL资源从雅虎获取信息。我有它适用于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中看到的返回dataType无关紧要 - 我已经尝试使用XML和JSON)。我错过了什么吗?或者这甚至可能吗?

1 个答案:

答案 0 :(得分:0)

在您的示例中,您使用的是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兼容标签或HTTP标头。如果你可以使用HTTP头   性能略好,因为它避免了潜力   浏览器解析器重启。

以下a working fiddle使用jQuery-1.9.1