我无意中写了一个对NextBus的跨域 AJAX 调用(使用 jQuery):
$.ajax({
url: 'http://webservices.nextbus.com/service/publicXMLFeed?command=predictions&a=sf-muni&r=1&s=6294',
dataType: 'xml',
success: function(data) {
do_stuff();
}
});
问题是,它适用于所有浏览器,尽管来自不同的域。鉴于单一来源政策,为什么这实际上有效?
该页面在这里:http://sftransitfirst.org/F/,从下拉菜单中选择一个停止会触发 ajax。
正如预期的那样,对Google Maps API Web Services进行类似的调用会失败Origin ... is not allowed by Access-Control-Allow-Origin
(并且它不支持 jsonp)。