node.js 配合vue-cli 该如何在node.js中配置原生的跨域解决方案
### 问题描述
现在自己本地搭了一个原生的node服务以及一些接口,用vue-cli3.0去做了一个简单的表单页面
### 问题出现的环境背景及自己尝试过哪些方法
可以用vue-cli3.0的代理做到跨域请求,但是想知道该如何去做node.js的跨域解决方案。
1.用过express的cors 以及 设置请求头的方法
2.原生的设置请求头方法也无效
在firefox,chrome以及safari浏览器中均不行
请求头
### 相关代码
粘贴代码文本(请勿用截图)
const http = require('http') //express解决方案
const exprees = require('express')
const app = exprees()
const cors = require('cors')
const PORT = 80
app.use(cors()); //试过cors 也试过在里面写setHeader的回调函数
app.options('*', cors());
app.get('hello', (req, res) => res.send('Hello World!'))
app.listen(PORT, () => console.log(`Example app listening on port ${PORT}!`))
res.setHeader("Access-Control-Allow-Credentials", true)
res.setHeader('Content-type', 'application/json')
res.setHeader("Access-Control-Allow-Origin", "*");
res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild');
res.setHeader("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS,PATCH");
res.setHeader('Access-Control-Max-Age', 1728000);
const url = req.url
let [path, param = ''] = req.url.split('?')
req.path = path
req.param = querystring.parse(param)
...
### 你期待的结果是什么?实际看到的错误信息又是什么?
希望能通过原生node来解决跨域问题,但是现在用的两种解决方案测试之后还是跨域。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
其实是在请求地址的时候没有加上http前缀导致一直找不到地址报跨域