1. 程式人生 > 其它 >NodeJS的跨域-CORS

NodeJS的跨域-CORS

跨域指的是不同源相互請求,傳遞資訊或資料

CORS是一個W3C標準,全稱是"跨域資源共享"(Cross-origin resource sharing)。

它允許瀏覽器向跨源伺服器,發出XMLHttpRequest請求,從而克服了AJAX只能同源使用的限制。

CORS需要瀏覽器和伺服器同時支援。目前,所有瀏覽器都支援該功能,IE瀏覽器不能低於IE10。

整個CORS通訊過程,都是瀏覽器自動完成,不需要使用者參與。對於開發者來說,CORS通訊與同源的AJAX通訊沒有差別,程式碼完全一樣。瀏覽器一旦發現AJAX請求跨源,就會自動新增一些附加的頭資訊,有時還會多出一次附加的請求,但使用者不會有感覺。

因此,實現CORS通訊的關鍵是伺服器。只要伺服器實現了CORS介面,就可以跨源通訊。

我們可以利用NodeJS實現CORS跨域

var express = require("express");
var app = express();

app.get("/",(req,res)=>{
  //配置請求的域名,*代表任意
  res.header("Access-Control-Allow-Origin", "*");   
  // 支援跨域請求型別
  res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");  
  //配置請求頭資訊,包含字符集等等 
  res.header("Content-Type
", "application/json;charset=utf-8"); res.json({ a:100 }) }) app.listen(3000,function(){ console.log(3000) })