原链接地址:http://lonewolf.me/content/2017/02/15/ajax-cross-domain.html
原创博客,转载请注明。


问题

当用 ajax 在 a.com 中访问 b.com 时,将会出现 XMLHttpRequest cannot load... 等错误提示,这就是跨域访问所带来的问题。

解决方法

Chrome中可使用插件 Allow-Control-Allow-Origin: * 进行解决,它可在 response header 中加入 Allow-Control-Allow-Origin: * 信息。

这个方法有个缺点,如果想访问时带上 cookie,那它将无效,具体见 https://github.com/vitvad/Access-Control-Allow-Origin/issues/34

解决方法2

带上 cookie 的方法是: jQuery.ajaxSetup({xhrFields:{withCredentials:true}})

这一问题的解决方法就是使用另一个插件 Access-Control-Allow-Credentials: true

它也有个缺点,每次启动chrome后都要重新启用才有效。。。