nodejs get请求正常,post就跨域

**后端代码(express):
/router/login/getcode.js

const express = require('express');
var router = express.Router();

router.post("/",(req,res)=> {
    res.send("获取验证码")
});

module.exports = router;

/router/index.js

const express = require('express');
const router = express.Router();

router.use("/login",require("./login/login.js")); //登录
router.use("/login/getcode",require("./login/getcode.js")); //获取验证码

module.exports = router

app.js

//跨域问题
server.all('*', function(req, res, next) {
    res.header('Access-Control-Allow-Origin', '*');//的允许所有域名的端口请求(跨域解决)
    res.header('Access-Control-Allow-Headers', 'Content-Type');
    res.header('Access-Control-Allow-Methods', '*');
    next();
});

//实例化
var server = express();
server.listen(90);

//路由
const admin  = require("./router/index.js");
server.use('/',admin);

问:这段代码get请求没问题,post请求前端那边就提示跨域

已解决 悬赏分:30 - 解决时间 2021-11-26 16:14
反对 0举报 0 收藏 0

回答2

最佳
  • @

    MDN /HTTP/Headers/Access-Control-Allow-Methods
    你从哪里看到 Access-Control-Allow-Methods 可以写通配符(*)的
    get可以post不可以参考下这个回答https://segmentfault.com/q/1010000016837027/a-1020000016837463

    支持 0 反对 0 举报
    2021-11-26 10:57
  • @

    你先看下:什么是跨域?为什么有跨域?以及如何处理跨域问题?

    支持 0 反对 0 举报
    2021-11-26 11:09