node.js - 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 和预检的信息,但不明白我在哪里失败。任何人都可以指出我正确的方向吗?我可以提供更多信息吗?
解决方案
推荐阅读
- json - 如何使用 pl/pgsql 将字符的文本字段转换为 json?
- ios - Back4App 删除关联对象脚本。类似于 AWS lambda
- javascript - 如何测试某个 javascript 库是否从 CDN 成功加载?
- elasticsearch - elasticsearch的_stats中的total_count和index_count有什么区别?
- ansible - 如何抑制 Ansible 中的“不支持的参数”错误?
- sql - SQL Report Builder: Issue with SUM in VarChar Column
- php - 覆盖函数中的 PHP 变量并在另一个文件中使用它
- python - with 语句会正确关闭文件吗?
- git - 为什么同步后会有未暂存的文件?
- c++ - 定义变量并立即使用