> 文档中心 > 12、axios的基本使用

12、axios的基本使用


1、简介

axios是一个专门用于发送ajax请求的库。

【特点】:

  • 支持客户端发送ajax请求
  • 支持服务端node.js发送请求
  • 支持Promise请求
  • 支持请求和响应拦截器
  • 自动转换JSON数据

2、基本语法

axios({  method: '请求方式', // get post  url: '请求地址',  data: {    // 拼接到请求体的参数,  post请求的参数    xxx: xxx,  },  params: {  // 拼接到请求行的参数, get请求的参数   xxx: xxx   }}).then(res => {  console.log(res.data) // 后台返回的结果}).catch(err => {  console.log(err) // 后台报错返回})

3、axios基本使用-获取数据

【代码演示】:

<template>  <div>    <h1>查询所有图书</h1>    <button @click="selectAll">查询-结果-控制台</button>  </div></template><script>// 下载并引入axiosimport axios from "axios";export default {  methods: {    selectAll() {      axios({ url: " http://123.57.109.30:3006/api/getbooks", method: "GET",      }) .then((res) => {   // 请求成功   console.log(res.data); }) .catch((err) => {   // 请求失败   console.log(err); });    },  },};</script><style></style>

【控制台效果】:
在这里插入图片描述

4、axios基本使用-传参

【代码演示】:

<template>  <div>    <h1>查询下列图书</h1>    <input type="text" v-model="bookname" placeholder="请输入要查询的书名" />    <button @click="selectOne">查询-结果-控制台</button>  </div></template><script>// 下载并引入axiosimport axios from "axios";export default {  // 数据对象  data() {    return {      bookname: "",    };  },  // 函数  methods: {    selectOne() {      axios({ url: " http://123.57.109.30:3006/api/getbooks", method: "GET", params: {   //此处的参数都会被拼接到url?的后面   bookname: this.bookname, },      }) .then((res) => {   console.log(res.data); }) .catch((err) => {   console.log(err); });    },  },};</script><style></style>

【控制台效果】:
在这里插入图片描述

5、axios基本使用-Post传参

【代码演示】:

<template>  <div>    <h1>查询下列图书</h1>    <input type="text" v-model="obj.bookname" placeholder="请输入书名" />    <input type="text" v-model="obj.bookauther" placeholder="请输入作者" />    <input type="text" v-model="obj.booksub" placeholder="请输入出版社" />    <button @click="addBook">查询-结果-控制台</button>  </div></template><script>// 下载并引入axiosimport axios from "axios";export default {  // 数据对象  data() {    return {      obj: { bookname: "", bookauther: "", booksub: "",      },    };  },  // 函数  methods: {    addBook() {      axios({ url: " http://123.57.109.30:3006/api/addbook", method: "POST", data: {   appkey: "7250d3eb-18e1-41bc-8bb2-11483665535a",   bookname: this.obj.bookname,   author: this.obj.bookauther,   publisher: this.obj.booksub, },      }) .then((res) => {   console.log(res.data); }) .catch((err) => {   console.log(err); });    },  },};</script><style></style>

【控制台效果】:
在这里插入图片描述

6、axios在vue中全局配置使用

  • main.js
import Vue from 'vue'import App from './App.vue'import axios from 'axios'//配置请求基地址,更多配置,请查询官网axios.defaults.baseURL = "http://123.57.109.30:3006"Vue.config.productionTip = falsenew Vue({  // el:"#app"  render: h => h(App),}).$mount('#app')

KTV音响网