我需要使用foursquare API搜索场所。当然,它是跨域的。
它在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跨域请求将起作用!