node后端跨域

发布时间 2023-03-31 15:54:08作者: 石头记1
express服务
//解决跨域问题,浏览8080&服务3070
let express = require('express');
let app = express();
let port = 3070;
//创建服务
app.listen(port,()=>{
    console.log(`服务创建成功,正在监听${port}端口!`);
});
。。。
app.use((req,res,next)=>{
    //可写res.header也可写res.setHeader
    res.setHeader("Access-Control-Allow-Origin", "http://localhost:8080");//跨域不能写*通配符,8080和config/index.js里的port匹配的
    res.setHeader("Access-Control-Allow-Credentials", true);//访问控制允许凭据,必须有
    res.setHeader("Access-Control-Allow-Headers", "Content-Type,Content-Length, Authorization, Accept,X-Requested-With");
    res.setHeader("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
    res.setHeader("X-Powered-By",' 3.2.1')//可有可没有
    if(req.method == "OPTIONS") {
        //让options请求快速返回,res.send改成res.sendStatus
        res.sendStatus(200);
        return;
    };
    next();
});
。。。
http服务 let http
= require("http");//创建服务 。。。 //req请求,res响应 http.createServer((req,res)=>{//创建一个服务 //解决跨域问题,浏览8080&服务3070 res.setHeader("Access-Control-Allow-Origin", "*"); res.setHeader("Access-Control-Allow-Headers", "Content-Type,Content-Length, Authorization, Accept,X-Requested-With"); res.setHeader("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS"); res.setHeader("X-Powered-By",' 3.2.1') if(req.method=="OPTIONS") return res.end();/*让options请求快速返回*/ 。。。 }).listen(3070);//监听一个端口