跨域指的是不同源相互請求,傳遞信息或數據
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) })