vue中axios的使用

这篇具有很好参考价值的文章主要介绍了vue中axios的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.什么是axios

1.axios是一个基于promise的HTTP库,可以用在浏览器和node.js中。

2.axios本质上也是对原生XHR的封装,只不过是promise的实现版本

3.用来向后端发送http请求,获取后端发送的数据

2.怎么在vue项目中使用axios

1.安装axios

npm install --save axios

2.axios二次封装

对axios进行二次封装主要是为了设置请求拦截器(在请求发出之前做一些事情)和响应拦截器(在数据返回之后,做一些事情)

假如我的请求的接口如下:http://219.199.230.250/local/user/login

(1)建立以下文件夹和文件,在axios.js中进行axios的二次封装,代码如下

vue中axios的使用

//对于axios进行二次封装
import axios from "axios";
//底下的代码也是创建axios实例
let requests = axios.create({
  //基础路径
  baseURL: "/local",
  //请求不能超过5S
  timeout: 5000,
});

//请求拦截器(可以在请求发出去之前,做一些事情)
requests.interceptors.request.use((config) => {
  return config;
});

//响应拦截器(在数据返回之后,做一些事情)
requests.interceptors.response.use(
  (res) => {
    //相应成功
    return res.data;
  },
  (err) => {
    //响应失败
    alert("服务器响应数据失败");
  }
);
export default requests;

注释:由于我的接口的路径前面都是带有/local的,所以这baseURL设置的是/local

(2)在index.js中设置具体的接口

import requests from "./axios";  //引入二次封装的axios
export const login = (params)=>requests({url:'/user/login ',method:'post',data:params});

(3)配置代理服务器

由于浏览器的同源策略,前端直接向服务器发送请求时会产生跨域问题,所以可以配置一个代理服务器去转发前端的请求,因为服务器和服务器之间不会产生跨域问题。

在vue.config.js中添加以下代码

const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
  transpileDependencies: true,
  lintOnSave: false,
  devServer: {  //配置代理服务器
    proxy: {
        "/local": {
            target: "http://218.197.228.251",
        },
    },
},
})

将路径的前面带有local的请求转发到地址为http://218.197.228.251的服务器上

(4)接口的调用

vue中axios的使用

 3.如何使用axios发送各种请求

1.将参数拼接到路径后面,以params的形式,或者不用携带参数

​export const login = (data)=>requests({url:'/user/login '+data,method:'get'});

模板字符串写法

export const login = (data)=>requests({url:'/user/login',method:'post',data:data});

2.在body中携带参数

export const login = (data)=>requests({url:'/user/login',method:'post',data:data});

3.将参数拼接到路径后,以query参数的形式

export const login = (params)=>requests({url:'/user/login',method:'get',params:params});

此时调用的参数会以qurey的形式拼接到路径后面

login({id:1,name:'Anna})

此时请求的路径为:/user/login?id=1&name=Anna

另外一种写法文章来源地址https://www.toymoban.com/news/detail-427636.html

export const login = (id,name)=>requests({url:`/user/login?id=${id}&name=${name}`,method:'get'});

到了这里,关于vue中axios的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • XMLHttpRequest,AJAX,Promise,Axios及操作实战

    XMLHttpRequest,AJAX,Promise,Axios都是发送异步请求的工具,只是使用的场合和方式有所不同。都是一种用于创建快速动态网页的技术 1、我们点击淘宝首页的男装,进入男装页面的这个请求过程称之为“同步请求”。 2、请求提交之后,需要重新加载整个页面,即使当前的数据有部分

    2024年02月03日
    浏览(42)
  • 异步回调中axios,ajax,promise,cors详解区分

    Ajax、Promise和Axios之间的关系是,它们都是用于在Web应用程序中发送异步HTTP请求的JavaScript库,但它们有不同的实现方式和用法。 Ajax是一种旧的技术,使用XMLHttpRequest对象来向服务器发送异步请求并获取响应。它通常需要手动编写回调函数来处理响应,并且容易出现回调地狱问

    2024年02月13日
    浏览(56)
  • 什么是Promise对象?它的状态有哪些?如何使用Promise处理异步操作?以及 async、await

    前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发者,这里都将为你提供一

    2024年02月11日
    浏览(46)
  • axios是什么?axios使用axios和ajax

    Axios 是一个基于 Promise 的 HTTP 客户端,用于浏览器和 Node.js 环境。它是由 GitHub 用户 mzabriskie 开发的,并且得到了广泛的社区支持。Axios 的设计目标是提供一种简洁、易用且功能强大的 HTTP 请求方式,以替代传统的 Ajax(Asynchronous JavaScript and XML)技术。 Axios 与 Ajax 的比较 Aj

    2024年04月15日
    浏览(37)
  • 前端框架前置学习(3) AJAX原理 XMLHttpRequest,Promise,简易axios函数封装

    1.获取图片文件对象  // 文件选择元素-change改变事件 document.querySelector(\\\'.upload\\\').addEventListener(\\\'change\\\', e = {       // 1. 获取图片文件       console.log(e.target.files[0]) 2.使用FormData携带文件  // 2. 使用 FormData 携带图片文件       const fd = new FormData()       fd.append(\\\'img\\\', e.target.files[0

    2024年02月03日
    浏览(64)
  • Vue的Axios 的使用(axios简介、axios与vue钩子结合使用、实验)全解

    什么是 Axios Axios 基本用法 Axios 与 Vue 的钩子函数的结合使用 什么是 Axios Axios 是一个基于 Promise 语法的、用于浏览器和 Node.js 的 HTTP 库。简单的理解就是对 Ajax 的封装,且具有易用、简洁、高效等特点。 Axios 的特点 它本身具备以下作用: 可以从浏览器中创建 XMLHttpRequest。

    2024年02月02日
    浏览(48)
  • Vue:使用Promise.all()方法并行执行多个请求

    在Vue中,可以使用Promise.all()方法来并行执行多个请求。当需要同时执行多个异步请求时,可以将这些请求封装为Promise对象并使用Promise.all()方法来执行它们。 示例1: 以下是一个示例代码,展示了如何通过Promise.all()方法并行执行多个请求: 在上述示例中,定义了三个请求:

    2024年02月12日
    浏览(38)
  • 使用ts封装一个Axios请求

    下面是一个简单的 TypeScript 版本的封装 Axios 请求的例子,基于 Axios 0.21.1 版本: 在这个示例中,我们首先定义了一个通用的响应结构 ApiResponse,用来包装 API 返回的数据,包括状态码、数据和消息等信息。然后,我们创建了一个 Axios 实例,定义了请求和响应拦截器,以及封装

    2024年02月16日
    浏览(46)
  • vue3【使用axios并封装axios请求】

    第一步:安装axios 第二步:编写请求文件 新建request.js 简单的axios封装,里面相关提示信息,自己可以引入element-plus去添加

    2024年02月04日
    浏览(64)
  • Vue3和TypeScript下基于Axios的二次封装教程

    学习如何在Vue3项目中使用TypeScript和Axios进行二次封装,实现更灵活的网络请求处理。详细教程包括拦截器设置和类型扩展。

    2024年02月05日
    浏览(136)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包