首页 > 解决方案 > Vue.js 和 Nodejs 的 CORS 问题

问题描述

我将 vuejs 与 nodejs 一起使用,vue 客户端地址http://localhost:8000,nodejs 服务器地址http://localhost:3000

调用 api 时出现 cors 错误CORS preflight channel did not succeed request headers

要求

Access-Control-Request-Headers: content-type
Access-Control-Request-Method: POST
Host:localhost: 3000 
Origin:http://localhost: 8000

回复

Access-Control-Allow-Headers: Origin, X-Requested-With, Accept,content-type
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE, PUT,PATH
Access-Control-Allow-Origin: *
Access-Control-Max-Age: 86400
Content-Type:application/json; charset=utf-8

响应错误是NS_ERROR_DOM_BAD_URI

标签: node.jsvue.jscors

解决方案


如果您使用expressjs,您可以简单地使用nodejs cors lib 在您的节点服务器中启用 CORS。

我强烈建议您仅出于开发目的激活它:

var cors = require('cors')

if (NODE_ENV !== 'production') {
   app.use(cors())
}

推荐阅读