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