Vue 整合 axios

axios 官网:http://axios-js.com/

现在项目控制台的根目录下载 axios :npm install axios(如果使用 yarn 包管理器,也可以:yarn add axios)

下载成功后 package.json 会添加 axios 的相关版本信息:

新建文件夹 plugins ,并在里面新建 js 文件:myAxios.js

import axios from "axios";

// 定义 axios
const myAxios = axios.create({
    baseURL: 'http://localhost:8080/api'  // 发给后端统一的请求地址
});

// 前端向后台发请求
myAxios.interceptors.request.use(function (config) {
    console.log("我要发请求了", config)
    // Do something before request is sent
    return config;
}, function (error) {
    // Do something with request error
    return Promise.reject(error);
});

// 接受后台的请求
myAxios.interceptors.response.use(function (response) {
    console.log("我收到你的响应啦", response)
    return response;
}, function (error) {
    // Do something with response error
    return Promise.reject(error);
});

export default myAxios;

前端发请求的代码:

<template>

</template>

<script setup>
import myAxios from "../plugins/myAxios.js";

onMounted(() => {
  myAxios().get('/testUrl', {    //   /testUrl 为请求的路径
    params: {
      ID: 12345                  // ID 为要传入的参数
    }
  })
      .then(function (response) {   // 成功执行的方法
        console.log(response);
        showToast.success('请求成功')
      })
      .catch(function (error) {     // 失败执行的方法
        console.error("/user/search/tags error", error);
      })
      .then(function () {        // 这个 then 无论相应成功或失败都会执行

      });
})
</script>

<style scoped>

</style>

这时候在前端代码发出请求的时候可能会遇到跨域问题:

(跨域问题:当目的地址、发送请求到的服务器地址、域名、端口号...不一致的时候就会出现跨域问题)

后端用 SpringBoot 框架的时候,直接在接收请求的 Controller 类中加上注解 @CrossOrigin (import java.util.stream.Collectors;)

为了安全 可以在注解后加上内容

(origins = {"http://localhost:5173/"})  // 前端地址 端口号注意填写自己的前端的端口号

这时候就可以啦

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: Vue整合axios是指在Vue项目中使用axios库来进行网络请求。首先,需要创建一个Vue项目,可以使用vue-cli来快速搭建。然后,将axios库封装到项目中,可以在util文件夹中创建一个http.js文件来封装axios。在main.js中引入并添加到Vue的原型对象中。接下来,可以在项目中使用封装好的axios实例来发起异步请求。如果需要解决跨域问题,可以在开发环境中设置代理来实现跨域请求。需要注意的是,修改配置文件后需要重启项目才能使配置生效。在需要拦截请求或响应的地方,可以使用封装好的axios实例来发起异步请求;而在不需要拦截的地方,可以直接使用未封装的axios来发起异步请求。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *3* [Vue总结(二)—— 整合axios](https://blog.csdn.net/qq_43776195/article/details/123307777)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [axiosvue整合操作,还不来看看](https://blog.csdn.net/weixin_54217216/article/details/123943445)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值