首页 > 解决方案 > CORS 预检错误,Angular 到 Nodejs 本地服务器

问题描述

我有一个在服务器上运行的网站(比如说http://some-domain.com)。

我有一台服务器在我的本地机器(我正在浏览的机器)上运行,地址为 127.0.0.1:8081

当我按下一个按钮时,一个发布请求被发送到 127.0.0.1:8081 但可能由于 CORS 和预检而失败。

这些是请求标头:

Accept: */*
Access-Control-Request-Headers: authorization,content-type
Access-Control-Request-Method: POST
Origin: http://some-domain.com
Sec-Fetch-Mode: cors
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) 
Chrome/95.0.4638.69 Safari/537.36

这就是我定义本地服务器的方式:

const express = require('express');
var cors = require('cors');
let app = express();

app.use(cors());

app.use((req, res, next) => {
  res.append("Access-Control-Allow-Headers", "Content-Type");
  next();
});

app.post('/start-stream', (request, response) => {
    ...
});

app.listen(8081, () => {
  console.log(`Example app listening at http://127.0.0.1:8081`)
});

我曾尝试阅读有关 CORS 和预检的信息,但不明白我在哪里失败。任何人都可以指出我正确的方向吗?我可以提供更多信息吗?

标签: node.jsexpresscors

解决方案


推荐阅读