$ .getJson无法在IE中运行

m_g*_*nns 7 javascript ajax jquery

好吧,出于某种原因,我的getJson无法正常工作.我正在提取一些股票信息,它适用于IE以外的所有主流浏览器.

我在这里创建了一个JSfiddle:http://jsfiddle.net/qZhSk/

如果有人能帮我理解我做错了什么,那将会非常有帮助.

谢谢!

编辑

我自己找到了解决方案.问题出在我的网址查询中.如果其他人有这个问题,这里是答案:

var url = "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20WHERE%20symbol%3D'NPO'&format=json&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys";

        $.getJSON(url + "&format=json&callback=?", function(data) {
        var items = [];

        $.each(data.query.results.quote, function(key, val) {

            items.push('<li id="' + key + '">' + val + '</li>');
        });

        $('<ul/>', {
            'class': 'my-new-list',
            html: items.join('')
        }).appendTo('body');
)};
Run Code Online (Sandbox Code Playgroud)

bpe*_*n76 8

从技术上讲,我认为你违反了同源政策.根据定义,你不能从你自己的域以外的域中获取JSON.从Yahoo获取数据肯定是与jsFiddle不同的服务器.这里报告类似的问题. 他们列出的CORS例外是IE到版本10,这将完美地解释这个问题.

问题可以通过使用"?"来解决.在你的回调处理程序中. 有关详细信息,请参阅此堆栈文章.