美元.getJson不能在IE中工作
$.getJson not working in IE
好吧,由于某种原因,我的getJson不工作。我正在拉一些股票信息,它适用于除IE以外的所有主要浏览器。
我在这里创建了一个JSfiddle: http://jsfiddle.net/qZhSk/
如果有人能帮助我了解我做错了什么,这将是超级有帮助的。谢谢!
编辑
我自己找到了解决办法。问题是在我的URL查询。如果有人有这个问题,这里是答案:
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');
)};
严格来说,我认为你在这一点上违反了同源策略。根据定义,您不能从您自己的....以外的域执行JSON get从雅虎获取数据肯定是不同于jsFiddle的服务器。这里报告了一个类似的问题。他们列出的CORS异常是IE到10版本,这将完美地解释这个问题。
这个问题可以通过在回调处理程序中使用"?"来解决。
由于这是一个老帖子,这个答案可能对其他寻求者有帮助。
getJson不能在IE中工作可能有两个原因。
1。通过添加
解析的json请求 &callback=? or &callback=?
2。设置ajax catch
$.ajaxSetup({ cache: false });
如果你仍然有问题,这可能是因为跨平台API的使用。
我将使用众所周知的jquery和IE的跨域策略问题。
这篇文章很好地解释了解决方案:
http://cypressnorth.com/programming/cross-domain-ajax-request-with-json-response-for-iefirefoxchrome-safari-jquery/相关文章:
- 为什么这在IE中的工作方式与在Firefox中不同
- 点击选择Div不在IE上工作
- 如何编写在Chrome和IE中正常工作的JavaScript
- Target=_blank don'我不在mozilla和IE工作
- 如何隐藏空<span>在IE中使用javascript.(注意,在其他浏览器中工作正常)
- 读取在具有IE的工作程序中生成的对象URL
- Json到CSV下载,可以在chrome中工作,但不能在IE浏览器中工作
- jQUery Code没有'我不在IE工作
- 为什么这个书签脚本是't在IE工作
- 类构造函数super()没有'我不在IE工作
- JavaScript onclick在IE 9中工作两次,然后停止
- HTML5视频无法在chrome上工作,在服务器上托管后的IE,mov文件中的视频(quicktime格式)
- JSSOR转盘滑块在IE中不工作
- Iframe加载调整大小在Chrome中工作,但不能在IE或Firefox中工作
- onmousemove=null不会'我不在IE工作
- Javascript/AAJAX在Opera中不起作用,在FF/IE/Chrome中完美工作
- execCommand('另存为',true,'data.csv');不在IE工作
- 我的剧本赢了'不能在IE中工作(甚至9)?修改复制文本的简单javascript
- 纯Javascript: onClick切换行/图像:Firefox/Chrome -工作:IE -不工作
- jQuery菜单不工作ie(文档模式:怪癖)