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)
})

posted @ 2021-10-20 15:47  keyeking  阅读(1338)  评论(0编辑  收藏  举报