我有以下JQuery AJAX请求,它在Chrome中运行良好但是当我在IE中测试时,它会返回undefined
:
$.ajax({
url : 'http://pipes.yahoo.com/pipes/pipe.run?_id=26650603c42f41d78bfb5c5c740747d3&_render=json&_callback=?',
dataType : 'xml',
complete : function(data) {
console.log(data.responseText);
}
});
答案 0 :(得分:1)
你是否尝试过这样:
$(document).ready(function(){
$.ajax({
url : 'http://pipes.yahoo.com/pipes/pipe.run?_id=26650603c42f41d78bfb5c5c740747d3&_render=json&_callback=pipeCallback',
dataType : 'jsonp',
complete : function(data) {
//alert(data.responseText);
//console.log(data.value);
},
error: function (xhr, status, error) {
alert(error);
}
});
});
function pipeCallback(d){
data = d;
//console.debug(d);
var arts = d.value.items;
for (var i=0; i<arts.length; i++)
{
var a = document.createElement("a");
a.setAttribute("href", arts[i].link);
a.innerHTML = "<h1>" + arts[i].title + "</h1>"
var dv = document.createElement("div");
dv.innerHTML = arts[i].description;
document.body.appendChild(a);
document.body.appendChild(dv);
}
}
刚刚测试过它工作正常 也可以摆脱 console.log 调用,如果开发人员工具没有打开它就无法在IE中工作。
答案 1 :(得分:0)
这似乎是浏览器安全设置的问题:
Internet Explorer只是不允许CORS(至少在-IE7中)作为安全问题。然而,IE8 +似乎能够做XDR。