開發必遇的問題 跨域問題

2021-10-06 03:55:30 字數 1691 閱讀 2068

當前頁面的協議、網域名稱、埠, 這三者之一與請求 url的不同,即為跨域

協議不同

網域名稱不同

埠不同

出於瀏覽器的同源策略限制,所謂同源就是兩個頁面具有相同的協議(protocol),主機(host)和埠號(port)

以前開發很少出現跨域問題,因為基本都是後端 連同前端的一起開發的,

現在是前後端分離的開發模式,可能前端放在這個位址,後端介面放在那個位址,就會出現跨域問題

舉個例子,現在前端使用 webpack的專案,進行網路請求

/* 網路請求的js** */

()

/* webpack.config.js 的配置檔案 */

const path =

require

('path'

)module.exports =

}

果不其然,遇到了跨域問題

使用webpack的 proxy的方式來解決跨域問題,就是使用一種**的方式,將網路請求**為你要請求的介面

/* 將請求方式改變為 本地的 http://localhost:5501/api/users */

// 改變

xhr.

onload

=function()

xhr.

send

()

/* webpack.config.js 的配置檔案 新增 proxy的**模式 */

const path =

require

('path'

)module.exports =

, devserver:

// 去除/api這個字串}}

}}

後端的我講不清楚,可以看看這篇部落格:

Web開發之跨域問題

最近在工作上遇到了跨域方面的問題,藉此溫習鞏固。跨域是受到瀏覽器的同源策略引起的,為了防止某些文件或指令碼載入別的域下的未知內容造成洩露隱私,破壞系統等安全行為。那什麼是同源的呢?同源是指 應用協議 網域名稱 主機或ip 和埠都相同的url,任意乙個不同就是跨域。跨域直白點講就是瀏覽器會限制js通過...

跨域的問題

傳統的jsonp跨域方法 jq的ajax呼叫是最常見的呼叫方法之一,在自己寫一些小demo過程中,總是會遇到跨域問題,一般遇到跨域問題時,就會出現類似錯誤情況 no access control allow origin header is present on the requested reso...

cookie跨域問題 跨域登入

cookie跨域時修改不成功,需要在刪除 或者修改時 設定domain值與存入的domain一致,跨域修改cookie不會成功。例如 login.abc.com login工程 www.abc.com abc工程 www.abc.com login.html呼叫login工程的登陸介面 login工...