如何解決跨域問題

2021-08-20 02:36:06 字數 693 閱讀 3889

1、什麼是跨域?

2、跨域請求資源的方法(解決跨域的方法):

(1)、porxy**(反向**)

定義和用法:proxy**用於將請求傳送給後台伺服器,通過伺服器來傳送請求,然後將請求的結果傳遞給前端。

實現方法:通過nginx**;

注意點:1、如果你**的是https協議的請求,那麼你的proxy首先需要信任該證書(尤其是自定義證書)或者忽略證書檢查,否則你的請求無法成功。

(2)、cors 【cross-origin resource sharing】

定義和用法:是現代瀏覽器支援跨域資源請求的一種最常用的方式。

res.writehead(200, );
(3)、jsonp

定義和用法:通過動態插入乙個script標籤。瀏覽器對script的資源引用沒有同源限制,同時資源載入到頁面後會立即執行(沒有阻塞的情況下)。

特點:通過情況下,通過動態建立script來讀取他域的動態資源,獲取的資料一般為json格式。

例項如下:

缺點:

1、這種方式無法傳送post請求(這裡)

2、另外要確定jsonp的請求是否失敗並不容易,大多數框架的實現都是結合超時時間來判定。

如何解決跨域問題?

跨域問題可以使用一下幾種方法解決 jsonp解決 jsonp和ajax一樣,是一門技術,缺點是get方式長度限制不能拼太多東西,大概2kb 前端偏好 或者iframe解決 操作簡單 或者h5新增了window.postmessage方法可以實現跨域通訊 相容不好 還能修改document.domai...

如何解決跨域問題

1.jsonp跨域 前端 json返回的是一串資料,而jsonp返回的是指令碼 jsonp只支援get請求,不支援post請求 2.nginx反向 後端 www.baidu index.html需要呼叫www.sina.com server.php,可以寫乙個介面www.baidu.com serv...

跨域 如何解決

當乙個請求url的協議 網域名稱 埠三者之間任意乙個與當前的url不同即為跨域 ex http www.和https www.就是協議上的跨域 http https www.baidu.com 和www.test.com 就是主網域名稱不同 baidu test www.test.com 和blog...