1、介紹html
其實跨域是瀏覽器自己限制阻止的,爲何就是由於超級不安全前端
前端和後臺調試接口時,最主要的麻煩就是跨域致使的,怎麼解決,提供如下幾種方法git
2、方法github
一、後端在接口文件寫一段(這是最簡單方法,可是)ajax
1 // 指定容許其餘域名訪問 2 header('Access-Control-Allow-Origin:*');
優勢:對於前端來講十分之簡單,徹底不用理會,直接請求json
缺點:不安全,因此在每次發佈上線時都要刪除這一段,有些麻煩後端
結論:適合在開發階段,不適用於已經要常常更新版本迭代跨域
二、使用jsonp瀏覽器
原理:動態添加一個<script>標籤,而script標籤的src屬性是沒有跨域的限制的。這樣說來,這種跨域方式其實與ajax XmlHttpRequest協議無關了安全
優勢:兼容性更好,在更加古老的瀏覽器中都 能夠運行,不須要XMLHttpRequest或ActiveX的支持;而且在請求完畢後能夠經過調用callback的方式回傳結果
缺點:只支持GET請求而不支持POST等其它類型的HTTP請求
三、用fiddler+willow替換重定向到本地文件
怎麼使用看以看一下這篇文章url:http://blog.csdn.net/mevicky/article/details/50285381
download:http://qzonetouch.github.io/commonWidget/willow
優勢:十分的方即可以時時的看到本地代碼在網上的效果,能脫離開發環境卻不影響線上調試
缺點:會抓取一大堆的包,全部請求都會被抓,會卡???
四、瀏覽器跨域設置
谷歌瀏覽器設置成支持跨域的模式(仍是對應上了原來那句話跨域不安全,是瀏覽器阻止不一樣域之間的請求)
設置url:http://www.cnblogs.com/laden666666/p/5544572.html
優勢:一個瀏覽器能解決,別說多方便。
缺點:暫時木有
感恩節~~~大吉大利,今晚吃雞
/*************20190820-add****************************************************************************/
5.使用代理
原理:在發送請求的時候作攔截,增長一箇中間件,作代理轉發,實現中間件和發送請求的頁面同源非跨域
優勢:看起來高大上一點有level一點
缺點:一旦頁面有多個請求不一樣地址就要作多個攔截
/*************20190904-add****************************************************************************/
今天看一篇文章才發現還有一種解決跨域方法,不過有很大的侷限性
使用document.domain賦值解決額
只能賦成當前的域名或者基礎域名