我需要使用 foursquare API 来搜索 field 。当然是跨域了。
它在 Firefox 中没有任何问题,但在 Internet Explorer 中(我测试过 7、8、9)。
我的 javascript 代码如下:
searchVenues: function(searchQuery) {
$.ajax({
url: 'https://api.foursquare.com/v2/venues/search',
data: {
sw: bound_south_west,
ne: bound_north_east,
query: searchQuery.query,
oauth_token: FSQ_OAUTH_TOKEN,
limit: 25,
intent: 'browse',
v: 20120206
},
cache: false,
dataType: 'json',
success: function(data) {
displayResults(data, searchQuery.query);
},
error: function(xhr, status, errorThrown) {
console.log(errorThrown+'\n'+status+'\n'+xhr.statusText);
}
});
}
在 Firefox 中,它完美地显示接收到的数据。 在 Internet Explorer 中,它在控制台上登录:
No Transport
Error
Error
我该怎么办?
最佳答案
我在 Windows Mobile 7 上对此进行了测试。
在花了很多时间去理解之后,我终于找到了这个:
http://bugs.jquery.com/ticket/10660
解决方案很简单,只需这样设置:
$.support.cors = true;
Ajax 跨域请求将起作用!
关于ajax - IE 中带有 jQuery ajax 调用的“无传输”错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9160123/