jquery – 为什么这个跨域的ajax调用实际上有效?

前端之家收集整理的这篇文章主要介绍了jquery – 为什么这个跨域的ajax调用实际上有效?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我无意中写了一个跨域 AJAX调用 NextBus(使用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而失败… Access-Control-Allow-Origin不允许这样做(并且它不支持jsonp).

解决方法

他们必须以这种方式明确允许跨域访问:
<?PHP header('Access-Control-Allow-Origin: *'); ?>

或者使用htaccess:

<ifModule mod_headers.c>
    Header set Access-Control-Allow-Origin: *
</ifModule>
原文链接:https://www.f2er.com/jquery/176942.html

猜你在找的jQuery相关文章