這篇文章主要介紹“javascript為什么要跨域”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“javascript為什么要跨域”文章能幫助大家解決問(wèn)題。
創(chuàng)新互聯(lián)專注于企業(yè)成都營(yíng)銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、建鄴網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5建站、商城建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為建鄴等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
JavaScript跨域的原因是:瀏覽器同源策略限制,當(dāng)前域名的js只能讀取同域下的窗口屬性,所以產(chǎn)生跨域。同源策略就是瀏覽器為了保證用戶信息的安全,防止惡意的網(wǎng)站竊取數(shù)據(jù),禁止不同域之間的JS進(jìn)行交互。
本教程操作環(huán)境:windows10系統(tǒng)、javascript1.8.5版、Dell G3電腦。
跨域問(wèn)題是瀏覽器同源策略限制,當(dāng)前域名的js只能讀取同域下的窗口屬性。
出于瀏覽器的同源策略限制。同源策略是一種約定,它是瀏覽器最核心也最基本的安全功能,如果缺少了同源策略,則瀏覽器的正常功能可能都會(huì)受到影響。可以說(shuō)Web是構(gòu)建在同源策略基礎(chǔ)之上的。瀏覽器只是針對(duì)同源策略的一種實(shí)現(xiàn)。同源策略會(huì)阻止一個(gè)域的javascript腳本和另外一個(gè)域的內(nèi)容進(jìn)行交互。所謂同源(即指在同一個(gè)域)就是兩個(gè)頁(yè)面具有相同的協(xié)議(protocol),主機(jī)(host)和端口號(hào)(port)。
簡(jiǎn)單來(lái)講同源策略就是瀏覽器為了保證用戶信息的安全,防止惡意的網(wǎng)站竊取數(shù)據(jù),禁止不同域之間的JS進(jìn)行交互。對(duì)于瀏覽器而言只要域名、協(xié)議、端口其中一個(gè)不同就會(huì)引發(fā)同源策略,從而限制他們之間如下的交互行為:
1.Cookie、LocalStorage和IndexDB無(wú)法讀取;
2.DOM無(wú)法獲得;
3.AJAX請(qǐng)求不能發(fā)送。
跨域的嚴(yán)格一點(diǎn)的定義是:只要協(xié)議,域名,端口有任何一個(gè)的不同,就被當(dāng)作是跨域。
跨域的解決方案
JSONP:需要在請(qǐng)求方法里加上dataType:“jsonp”, //數(shù)據(jù)格式設(shè)置為jsonp,jsonp:“callback”, //Jquery生成驗(yàn)證參數(shù)的名稱
1、dataType,該參數(shù)必須要設(shè)置成jsonp
2、jsonp,該參數(shù)的值需要與服務(wù)器端約定
nginx反向代理
webpack 配置反向代理:直接使用腳手架的devServer去配置反向代理 來(lái)解決開發(fā)過(guò)程中的跨域問(wèn)題
跨域資源共享(CORS)
nodejs跨域:在本地用nodejs起一個(gè)服務(wù)器 通過(guò)那個(gè)服務(wù)器去調(diào)用后臺(tái)的服務(wù)器返回?cái)?shù)據(jù)后再返回給前端 服務(wù)器之間不存在跨域
WebSocket協(xié)議跨域
通過(guò)JSONP
自己理解:JSONP就是使用script標(biāo)簽的src屬性來(lái)實(shí)現(xiàn)跨域,只能使用get請(qǐng)求,后臺(tái)會(huì)返回給你一個(gè)方法,你通過(guò)這個(gè)方法獲取你想要的數(shù)據(jù)
jsonp原理 前端定義好方法通過(guò)src屬性傳給后端 后端拿到方法后傳入數(shù)據(jù)拼接方法后傳給前端 前端當(dāng)成方法來(lái)調(diào)用
JSONP主要是封裝好的請(qǐng)求方式添加callback,這個(gè)callback是由前后端約定好的
關(guān)于“javascript為什么要跨域”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。
當(dāng)前名稱:javascript為什么要跨域
網(wǎng)站URL:http://m.kartarina.com/article24/jedoce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、軟件開發(fā)、做網(wǎng)站、自適應(yīng)網(wǎng)站、域名注冊(cè)、動(dòng)態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)