Node.js 使用 cors 中間件解決跨域問(wèn)題小結(jié)
CORS 跨域資源共享
什么是 CORS
cors 是 Express 的一個(gè)第三方中間件。通過(guò)安裝和配置 cors 中間件,可以很方便地解決跨域問(wèn)題。
CORS (Cross-Origin Resource Sharing,跨域資源共享)由一系列 HTTP 響應(yīng)頭
組成,這些 HTTP 響應(yīng)頭決定瀏覽器是否阻止前端 JS 代碼跨域獲取資源
。
瀏覽器的同源安全策略
默認(rèn)會(huì)阻止網(wǎng)頁(yè)“跨域”獲取資源。但如果接口服務(wù)器配置了 CORS 相關(guān)的 HTTP 響應(yīng)頭,就可以解除瀏覽器端的跨域訪問(wèn)限制
。
CORS 的注意事項(xiàng)
① CORS 主要在服務(wù)器端
進(jìn)行配置??蛻舳藶g覽器無(wú)須做任何額外的配置
,即可請(qǐng)求開(kāi)啟了 CORS 的接口。
② CORS 在瀏覽器中有兼容性
。只有支持 XMLHttpRequest Level2 的瀏覽器,才能正常訪問(wèn)開(kāi)啟了 CORS 的服務(wù)端接口(例如:IE10+、Chrome4+、FireFox3.5+)。
CORS 響應(yīng)頭部 - Access-Control-Allow-Origin
響應(yīng)頭部中可以攜帶一個(gè) Access-Control-Allow-Origin
字段,其語(yǔ)法如下:
其中,origin 參數(shù)的值指定了允許訪問(wèn)該資源的外域 URL
。注意:為通配符 *,表示允許來(lái)自任何域的請(qǐng)求
CORS使用
使用步驟分為如下 3 步
- 運(yùn)行 npm install cors
安裝中間件
- 使用 const cors = require(‘cors’)
導(dǎo)入中間件
- 在路由之前調(diào)用 app.use(cors())
配置中間件
const cors = require('cors'); app.use(cors())
Deom
const express = require('express'); const cors = require('cors'); const app = express(); // 配置解析表單數(shù)據(jù)的中間件 app.use(express.urlencoded( {extended: false} )) // 一定要在路由之前,配置 cors 這個(gè)中間件,從而解決接口跨域的問(wèn)題 app.use(cors()) const router = require("./apiRouter.js") // 把路由模塊注冊(cè)到 app 上 app.use("/api",router) app.listen(80,()=>{ console.log("http://127.0.0.1"); });
到此這篇關(guān)于Node.js 使用 cors 中間件解決跨域問(wèn)題的文章就介紹到這了,更多相關(guān)Node.js cors 中間件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
node中短信api實(shí)現(xiàn)驗(yàn)證碼登錄的示例代碼
這篇文章主要介紹了node中短信api實(shí)現(xiàn)驗(yàn)證碼登錄的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01NodeJS學(xué)習(xí)筆記之Connect中間件應(yīng)用實(shí)例
前面我們介紹了幾篇內(nèi)容的connect中間件的基礎(chǔ)知識(shí),今天我們來(lái)實(shí)例應(yīng)用一下,做個(gè)記事本的小應(yīng)用,希望大家能夠喜歡。2015-01-01npm出現(xiàn)Cannot?find?module?'XXX\node_modules\npm\bin\np
最近在啟動(dòng)項(xiàng)目的時(shí)候會(huì)報(bào)這個(gè)錯(cuò)就是npm丟失,所以下面這篇文章主要給大家介紹了關(guān)于npm出現(xiàn)Cannot?find?module?'XXX\node_modules\npm\bin\npm-cli.js'錯(cuò)誤的解決方法,需要的朋友可以參考下2022-08-08使用Node.js腳本自動(dòng)統(tǒng)計(jì)代碼量的實(shí)現(xiàn)代碼
手動(dòng)統(tǒng)計(jì)代碼行數(shù)通常會(huì)耗費(fèi)大量時(shí)間和精力,為了提高統(tǒng)計(jì)效率并減少人為錯(cuò)誤,我們可以借助自動(dòng)化工具來(lái)完成這項(xiàng)任務(wù),本文將介紹如何使用 Node.js 腳本來(lái)自動(dòng)化統(tǒng)計(jì)項(xiàng)目代碼行數(shù),讓我們能夠輕松快捷地獲取項(xiàng)目的代碼量信息,需要的朋友可以參考下2023-12-12node.js利用express自動(dòng)搭建項(xiàng)目的全過(guò)程
這篇文章主要給大家介紹了關(guān)于node.js利用express自動(dòng)搭建項(xiàng)目的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04Node.js環(huán)境下JavaScript實(shí)現(xiàn)單鏈表與雙鏈表結(jié)構(gòu)
Node環(huán)境下通過(guò)npm可以獲取list的幾個(gè)相關(guān)庫(kù),但是我們這里注重于自己動(dòng)手實(shí)現(xiàn),接下來(lái)就一起來(lái)看一下Node.js環(huán)境下JavaScript實(shí)現(xiàn)單鏈表與雙鏈表結(jié)構(gòu)2016-06-06node.js中的fs.unlinkSync方法使用說(shuō)明
這篇文章主要介紹了node.js中的fs.unlinkSync方法使用說(shuō)明,本文介紹了fs.unlinkSync的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下2014-12-12node.js中的console.info方法使用說(shuō)明
這篇文章主要介紹了node.js中的console.info方法使用說(shuō)明,本文介紹了console.info的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下2014-12-12nodejs超出最大的調(diào)用棧錯(cuò)誤問(wèn)題
這篇文章主要介紹了nodejs超出最大的調(diào)用棧錯(cuò)誤問(wèn)題,需要的朋友可以參考下2017-12-12