接口的统一管理和解决跨域问题

发布于:2022-07-24 ⋅ 阅读:(455) ⋅ 点赞:(0)

接口的统一管理有什么好处?

       1. 简化代码

       2.有利于后期的维护

先来看一下统一管理后的代码

这种统一的管理方式让代码变得简洁清晰。

首先要对axios进行二次封装

axios的二次封装_那只猫喝咖啡的博客-CSDN博客

 1. 引入并使用二次封装的函数(函数的返回值是promise对象)

 2. 发一次请求就在api下index.js中采用分别暴露的方式定义一个函数reqGoodsInfo(),二次封装后的函数(requests)的参数是一个配置对象,写法和axios语法一样(+请求地址和请求方式),将配置好的二次封装后的函数的返回值作为reqGoodsInfo()的返回值

此时为了测试这个接口是否能正常返回数据,我们将在入口文件main.js中执行测试,测试方法如下:

 却发现后台报出404的错误?!

这是由于跨域造成的问题。

跨域:浏览器从一个域名的网页去请求另一个域名的资源时,出现域名、端口、协议任一不同,都属于跨域。

我们知道浏览器和服务器之间会存在跨域,而服务器与服务器之间不会存在跨域,所以在vue的官方文档中提供了一种跨域的解决方案就是配置代理服务器。

配置参考 | Vue CLI

 

 当你向某个服务器请求资源时,就通过代理服务器向指定服务器拿数据,因为服务器与服务器之间是不存在跨域问题的。这样跨域的问题就解决了。

解决跨域的方式还有两种方式,一种是jsonp、一种是CROS(官方推荐的方案)。


网站公告

今日签到

点亮在社区的每一天
去签到