node.js 配合vue-cli 该如何在node.js中配置原生的跨域解决方案

发布于 2022-09-12 04:06:17 字数 1513 浏览 25 评论 0

### 问题描述
现在自己本地搭了一个原生的node服务以及一些接口,用vue-cli3.0去做了一个简单的表单页面
### 问题出现的环境背景及自己尝试过哪些方法
可以用vue-cli3.0的代理做到跨域请求,但是想知道该如何去做node.js的跨域解决方案。
1.用过express的cors 以及 设置请求头的方法
2.原生的设置请求头方法也无效
在firefox,chrome以及safari浏览器中均不行
image.png
image.png
请求头
image.png

### 相关代码
粘贴代码文本(请勿用截图)

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

凉宸 2022-09-19 04:06:17

其实是在请求地址的时候没有加上http前缀导致一直找不到地址报跨域

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文