我正在开发一个小型 ToDo 应用程序,其中我使用 Angular 作为前端,使用 Node.js/Express/Mongo 作为中间件/后端。
当我在登录表单中提交登录时,它会访问登录 API,但它会在控制台中返回一个奇怪的输出,内容为
OPTIONS http://localhost:3000/api/v1/users/login/ 0 {}
(参见下面的屏幕截图)即使在成功登录后也不允许我获取仪表板。
我通过安装 cors
NPM 模块启用了 CORS。我检查了 Postman 中的 RESTFul 服务,一切都工作正常。
[已更新] 这就是我在 express.js
的 app.js
文件中启用 CORS 的方法。
let cors = require('cors');
app.use(cors());
app.options('*', cors());
最佳答案
在将 CORS 请求发送到服务器之前,客户端始终会将此“OPTIONS”请求作为“预检请求”发送,从服务器请求支持的方法。
此请求被阻止可能表明 CORS 配置错误或显式阻止来自服务器的所有“OPTIONS”请求。 (服务器上也需要配置CORS)。
更多信息可参见here
关于javascript - 表单提交在控制台中显示奇怪的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59177960/