6. 在前端開發(fā)中,如何處理跨域請求?請列舉幾種解決方法。
跨域請求是指瀏覽器不能直接向不同域名的服務器發(fā)起請求。解決跨域問題的方法有以下幾種:http://www.fangfengwang8.cn/issue/tutorial?zhuanlanId=Mg58Em&uuid=43521d43a8e341f888324dd690363024
JSONP(JSON with Padding):利用script標簽的src屬性可以加載任意域名下的js文件的特性,通過在URL中傳遞callback函數(shù)名,讓服務端返回指定格式的數(shù)據(jù),前端通過調(diào)用指定的callback函數(shù)來獲取數(shù)據(jù)。
CORS(Cross-Origin Resource Sharing):跨域資源共享,是W3C標準,需要服務端在響應頭中設置Access-Control-Allow-Origin字段來允許前端跨域訪問。
代理:通過后臺中轉(zhuǎn)請求,將服務端的數(shù)據(jù)請求發(fā)送到同一域名下的后臺進行處理并返回結(jié)果給前端。
WebSocket:在建立WebSocket連接時不會執(zhí)行同源檢測,因此可以使用WebSocket進行跨域通信。
發(fā)布JSON數(shù)據(jù)文件,JSONP或者JavaScript加載到頁面里。但這種方式并不友好,容易暴露數(shù)據(jù)。
設置Access-Control-Allow-Origin允許跨域,此方法支持IE8+、Chrome、Firefox等現(xiàn)代瀏覽器,或者使用XMLHttpRequest Level 2對象里面提供的withCredentials屬性的值為true。
在同一根域名下,但是不同二級域名之間進行跨越AJAX請求, 可以通過設置document.domain來解決。
JSONP(JSON with Padding):利用script標簽的src屬性可以加載任意域名下的js文件的特性,通過在URL中傳遞callback函數(shù)名,讓服務端返回指定格式的數(shù)據(jù),前端通過調(diào)用指定的callback函數(shù)來獲取數(shù)據(jù)。
CORS(Cross-Origin Resource Sharing):跨域資源共享,是W3C標準,需要服務端在響應頭中設置Access-Control-Allow-Origin字段來允許前端跨域訪問。
代理:通過后臺中轉(zhuǎn)請求,將服務端的數(shù)據(jù)請求發(fā)送到同一域名下的后臺進行處理并返回結(jié)果給前端。
WebSocket:在建立WebSocket連接時不會執(zhí)行同源檢測,因此可以使用WebSocket進行跨域通信。
發(fā)布JSON數(shù)據(jù)文件,JSONP或者JavaScript加載到頁面里。但這種方式并不友好,容易暴露數(shù)據(jù)。
設置Access-Control-Allow-Origin允許跨域,此方法支持IE8+、Chrome、Firefox等現(xiàn)代瀏覽器,或者使用XMLHttpRequest Level 2對象里面提供的withCredentials屬性的值為true。
在同一根域名下,但是不同二級域名之間進行跨越AJAX請求, 可以通過設置document.domain來解決。
全部評論
相關(guān)推薦
點贊 評論 收藏
分享
04-17 00:50
桂林旅游學院 Python 全站熱榜
更多
創(chuàng)作者周榜
更多
正在熱議
更多
# 牛油的搬磚plog #
25527次瀏覽 112人參與
# 大學最后一個寒假,我想…… #
28746次瀏覽 272人參與
# 一人一個landing小技巧 #
22886次瀏覽 450人參與
# 運營每日一題 #
67325次瀏覽 643人參與
# 查收我的offer競爭力報告 #
176258次瀏覽 1064人參與
# 面試被問第一學歷差時該怎么回答 #
122276次瀏覽 765人參與
# 電網(wǎng)筆面經(jīng)互助 #
31469次瀏覽 317人參與
# 為什么那么多公司毀約 #
163211次瀏覽 1223人參與
# 我在牛愛網(wǎng)找對象 #
178060次瀏覽 1339人參與
# 520告白墻 #
17655次瀏覽 315人參與
# 找工作的破防時刻 #
24932次瀏覽 383人參與
# 實習學不到東西怎么辦? #
203437次瀏覽 2113人參與
# 2023屆毀約公司名單 #
190172次瀏覽 938人參與
# 通信硬件知識分享 #
25370次瀏覽 460人參與
# 實習/項目/競賽獎項,哪個對找工作更重要? #
80151次瀏覽 1102人參與
# 騰訊音樂求職進展匯總 #
86065次瀏覽 482人參與
# 25屆秋招公司紅黑榜 #
259297次瀏覽 1089人參與
# 如果公司降薪,你會跳槽嗎? #
65482次瀏覽 515人參與
# 我想象的實習vs現(xiàn)實的實習 #
277393次瀏覽 2207人參與
# 我發(fā)現(xiàn)一個規(guī)律 #
2976次瀏覽 28人參與