最初的回答:
当我使用NodeJS服务器REST API连接数据库(MongoDB)时,我的Angular登录组件出现了问题。
以下是我的Node.js文件(app.js)中的代码:
这是git日志结果:https://prnt.sc/o38w12。此外,当我提交时,注册功能仍然可以正常工作。原始答案翻译成“最初的回答”。
当我使用NodeJS服务器REST API连接数据库(MongoDB)时,我的Angular登录组件出现了问题。
以下是我的Node.js文件(app.js)中的代码:
注:CORS是一种浏览器安全机制,防止网站从其他来源获取或发送数据。在此情境下,错误是由于服务器未正确设置CORS标头所致。XMLHttpRequest访问 'http://localhost:3000/users/login' 时,发生了CORS策略阻止。请求来源'http://localhost:4200',响应头中'Access-Control-Allow-Credentials'的值为'Content-Type',该值必须为'true',当请求凭据模式为“包含”时。XMLHttpRequest发起的请求的凭据模式由withCredentials属性控制。
var cors = require ('cors');
app.use(cors({
origin:['http://localhost:4200','http://127.0.0.1:4200'],
credentials:true
}));
app.use(function (req, res, next) {
res.header('Access-Control-Allow-Origin', "http://localhost:4200");
res.header('Access-Control-Allow-Headers', true);
res.header('Access-Control-Allow-Credentials', 'Content-Type');
res.header('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
next();
});
这是git日志结果:https://prnt.sc/o38w12。此外,当我提交时,注册功能仍然可以正常工作。原始答案翻译成“最初的回答”。