nodejs中利用cors解决跨域方法

在进行编程获取别的网站数据或者在同一局域网下向其他IP地址提交和获取数据时,都会发生跨域错误,在进行express框架进行服务器端编程,我常用以下方法解决跨域问题:

首先下载模块


# Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。使用 Express 可以快速地搭建一个完整功能的网站

npm i express 或者 npm install express # 首先安装服务器模块
 
npm i cors 或者 npm install cors # 再安装解决跨域模块

npm i axios  # 用来发送请求

然后引入模块


# 引入安装的两个模块
const express = require('express');
const cors = require('cors');
const app = express(); # 初始化模块创建个对象

最后使用模块


app.use(express.json());       # 解析json编码数据
app.use(express.urlencoded()); # 解析url编码的数据
app.use(cors());  #  不加上这句代码跨域访问时会出现错误,加上就不会出现跨域错误情况

# 进行各种方式的请求, 第一个参数都是路由,提供给前端的接口做代理用,以post方式举例,提供一个代理服务器
# 用nodejs请求数据然后把数据返回给前端就行
app.post("/api", (req, res) => {
    const { url } = req.body;
    // console.log(req.body);
    axios.get(url)
        .then(result => {
            res.json(result.data);
        })
        .catch(err => {
            console.error(err);
        })
})

# 第一个参数是端口号
app.listen(3000, ()=>{
	console.log("运行在3000端口")
});

# 前端通过访问后端提供的接口
$.post("后端接口", 
# 把需要请求数据的网址传给nodejs后端
{ url: "要请求数据的网址" }) 
  .then(res => {
      console.log(res)  # 最后后端把请求的数据返回给前端,这样就解决了跨域,但是是由后端解决的
  })
  .catch(err => {
      console.error(err);
  })

解决跨域问题一般都是服务器端常做的,这种解决跨域方式自认为感觉比较简单,就是安装cors模块然后使用下即可,不需要做其他配置。


————————————————
版权声明:本文为CSDN博主「smileForward」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_45000814/article/details/106841193

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值