前言:
跨域問題一直是個老生常談的問題,在實際開發過程中,跨域的問題常常會讓開發者非常的頭疼。
常用的幾種跨域解決方案:
1.代理
2.XHR2
HTML5中提供的XMLHTTPREQUEST Level2(及XHR2)已經實現了跨域訪問。但ie10以下不支持
只需要在服務端填上響應頭:
header("Access-Control-Allow-Origin:*"); /*星號表示所有的域都可以接受,*/ header("Access-Control-Allow-Methods:GET,POST");
3.jsonP
原理:
ajax本身是不可以跨域的,通過產生一個script標簽來實現跨域。因為script標簽的src屬性是沒有跨域的限制的。
其實設置了dataType: 'jsonp'后,$.ajax方法就和ajax XmlHttpRequest沒什么關系了,取而代之的則是JSONP協議。JSONP是一個非官方的協議,它允許在服務器端集成Script tags返回至客戶端,通過javascript callback的形式實現跨域訪問。
4.后端接口設置允許跨域 添加Access-Control-Allow-Origin header
5.谷歌瀏覽器屬性打開目標地址在后面加--disable-web-security
以上幾個方法所謂各有“千秋”,但是唯一的共同的特性就是“麻煩!”,即使是第五種方案,很多時候也經常因為版本啊或者其他原因導致失效,有木有同感?
那么今天,大家看到這篇文章,一定會謝謝我的,我將給大家分享一個史上我覺得最方便最穩定的ajax跨域解決方案。
正題來了!!!
無意中,在谷歌程序應用商店找到這個神奇的擴展插件!效果萬分驚喜~
如果被牆了的也沒關系,我已經上傳到網盤了,在這里免費分享給大家(https://pan.baidu.com/s/1smQ0fl7)。
離線擴展程序.crx文件不會安裝的,請自行度娘,謝謝!
使用前效果:
使用后,打開擴展插件開關,這個時候瀏覽器就允許跨域了,沒有跨域報錯了!