node.js的跨域问题,在于你项目中也有请求url,三者不一的问题

在你写了一个node.js项目后,在本地访问是没有问题的,但是当你把项目弄到云服务器上时,再运行这个项目就会报错,在控制台的报错信息中,你点你的链接也没有问题,这其实就是一个跨域问题,
因为其他电脑的localhost和它去访问的云服务器的localhost重复了,这样就可以理解为其他电脑去访问云服务器电脑,然后云服务器电脑又访问其他电脑,所以就报错了,找不到服务,
最后把云服务器的电脑localhost该为改云服务器的ip地址,这样其他电脑去访问的时候就是访问这个云服务器,然后让云服务器去访问自己index.js里面的router.get方法里面的url去,这样就不会冲突了。
代码如下

html 中的请求, 在这里插入图片描述
修改成功后,这个请求就会访问你服务器了,不会再用户电脑访问用户电脑。

服务器index.js中的请求,这里不用改,等待那个请求过来处理就可以。
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
Node.js 跨域问题可以过设置响应头来解决。一般情况下,跨域请求会触发浏览器的跨域限制,需要在服务器端设置响应头来允许跨域访问。 以下是一些解决跨域问题的方法: 1. 使用间件:可以使用 `cors` 间件,它可以在 API 简单地添加跨域支持。安装 `cors` 间件:`npm install cors --save`。使用方法: ```javascript const express = require('express'); const cors = require('cors'); const app = express(); app.use(cors()); ``` 2. 手动设置响应头:在服务器端设置响应头来允许跨域访问。以下是示例代码: ```javascript app.use(function(req, res, next) { res.setHeader('Access-Control-Allow-Origin', '*'); // 允许所有来源访问 res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, DELETE'); // 允许访问的方式 res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization'); // 允许请求携带的参数 next(); }); ``` 3. 使用代理:在客户端发出请求时,可以使用代理将请求发送到同一个域名下的服务器,然后在服务器上进行跨域请求。以下是示例代码: ```javascript const http = require('http'); const proxy = require('http-proxy'); const apiProxy = proxy.createProxyServer(); const server = http.createServer(function(req, res) { const url = req.url; if(url.match(/^\/api/)) { apiProxy.web(req, res, { target: 'http://localhost:3000' }); } else { // 处理其他请求 } }); server.listen(8080); ``` 以上是三种常见的解决跨域问题的方法。根据实际情况选择合适的方法即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酷奥空间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值