我正在尝试使用jQuery通过ajax访问此URL(在我的域之外) http://www.decolar.com/shop/flights/data/search/roundtrip/sao/orl/2013-09-11/2013-09-19/1/0/0/FARE/ASCENDING/NA/NA/NA/NA/NA
我试图用YQL实现这一点。
这是我的代码:
var url = 'http://www.decolar.com/shop/flights/data/search/roundtrip/sao/orl/2013-09-11/2013-09-19/1/0/0/FARE/ASCENDING/NA/NA/NA/NA/NA';
var consultar = "http://query.yahooapis.com/v1/public/yql?"+
"q=select%20*%20from%20html%20where%20url%3D%22"+
encodeURIComponent(url)+
"%22&format=xml&callback=?";
$.getJSON( consultar ,
function(data){
console.log(data);
console.log(consultar);
$('#content').html(data.results[0]);
}
);
我可以使用我的浏览器访问此Url,但是使用YQL,我没有返回数据:(
救救我! :(
答案 0 :(得分:1)
问题在于,XMLHttpRequest是$ .getJSON背后的魔力,它不支持跨源请求,而在某些浏览器支持的标头中没有特殊的握手,而其他浏览器则不支持。 jQuery确实支持发出跨域请求,但你必须使用脚本标记注入和JSONP之类的东西来做。
有关详细信息,请参阅此主题:jQuery AJAX cross domain