Node.js 使用 cors 中間件解決跨域問題小結(jié)
CORS 跨域資源共享
什么是 CORS
cors 是 Express 的一個(gè)第三方中間件。通過安裝和配置 cors 中間件,可以很方便地解決跨域問題。
CORS (Cross-Origin Resource Sharing,跨域資源共享)由一系列 HTTP 響應(yīng)頭組成,這些 HTTP 響應(yīng)頭決定瀏覽器是否阻止前端 JS 代碼跨域獲取資源。
瀏覽器的同源安全策略默認(rèn)會(huì)阻止網(wǎng)頁“跨域”獲取資源。但如果接口服務(wù)器配置了 CORS 相關(guān)的 HTTP 響應(yīng)頭,就可以解除瀏覽器端的跨域訪問限制。

CORS 的注意事項(xiàng)
① CORS 主要在服務(wù)器端進(jìn)行配置??蛻舳藶g覽器無須做任何額外的配置,即可請(qǐng)求開啟了 CORS 的接口。
② CORS 在瀏覽器中有兼容性。只有支持 XMLHttpRequest Level2 的瀏覽器,才能正常訪問開啟了 CORS 的服務(wù)端接口(例如:IE10+、Chrome4+、FireFox3.5+)。
CORS 響應(yīng)頭部 - Access-Control-Allow-Origin
響應(yīng)頭部中可以攜帶一個(gè) Access-Control-Allow-Origin 字段,其語法如下:

其中,origin 參數(shù)的值指定了允許訪問該資源的外域 URL。注意:為通配符 *,表示允許來自任何域的請(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è)中間件,從而解決接口跨域的問題
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 中間件解決跨域問題的文章就介紹到這了,更多相關(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)證碼登錄的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
NodeJS學(xué)習(xí)筆記之Connect中間件應(yīng)用實(shí)例
前面我們介紹了幾篇內(nèi)容的connect中間件的基礎(chǔ)知識(shí),今天我們來實(shí)例應(yīng)用一下,做個(gè)記事本的小應(yīng)用,希望大家能夠喜歡。2015-01-01
npm出現(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)化工具來完成這項(xiàng)任務(wù),本文將介紹如何使用 Node.js 腳本來自動(dòng)化統(tǒng)計(jì)項(xiàng)目代碼行數(shù),讓我們能夠輕松快捷地獲取項(xiàng)目的代碼量信息,需要的朋友可以參考下2023-12-12
node.js利用express自動(dòng)搭建項(xiàng)目的全過程
這篇文章主要給大家介紹了關(guān)于node.js利用express自動(dòng)搭建項(xiàng)目的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
Node.js環(huán)境下JavaScript實(shí)現(xiàn)單鏈表與雙鏈表結(jié)構(gòu)
Node環(huán)境下通過npm可以獲取list的幾個(gè)相關(guān)庫,但是我們這里注重于自己動(dòng)手實(shí)現(xiàn),接下來就一起來看一下Node.js環(huán)境下JavaScript實(shí)現(xiàn)單鏈表與雙鏈表結(jié)構(gòu)2016-06-06

