axios的详细使用

一、axios介绍

Vue.js 2.0 版本推荐使用 axios 来完成 ajax 请求。

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

Github开源地址: GitHub - axios/axios: Promise based HTTP client for the browser and node.js

二、axios使用

          

1.get方法(我们可以简单的读取 JSON 数据)

// 引入axios
import axios from 'axios';

//我们可以简单的读取 JSON 数据:
new Vue({
  el: '#app',
  data () {
    return {
      info: null
    }
  },
  mounted () {
    axios
      .get('https://www.baidu,com')
      .then(response => (this.info = response))
      .catch(function (error) { // 请求失败处理
        console.log(error);
      });
  }
})


// 直接在 URL 上添加参数 ID=12345
axios.get('/book?id=12345')
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });
 
// 也可以通过 params 设置参数:
axios.get('/book', {
    params: {
      id: 12345
    }
  })
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });

2.  post方法

//创建实例
new Vue({
  el: '#app',
  data () {
    return {
      info: null
    }
  },
  mounted () {
    axios
      .post('https://www.runoob.com/try/ajax/demo_axios_post.php')
      .then(response => (this.info = response))
      .catch(function (error) { // 请求失败处理
        console.log(error);
      });
  }
})

//POST 方法传递参数格式如下

axios.post('/book', {
    firstName: '三国演义'       // 参数 firstName
    
  })
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });

 3.拦截器

在请求或响应被 then 或 catch 处理前拦截他们

// 添加请求拦截器
axios.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么
    return config;
  }, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  });

// 添加响应拦截器
axios.interceptors.response.use(function (response) {
    // 对响应数据做点什么
    return response;
  }, function (error) {
    // 对响应错误做点什么
    return Promise.reject(error);
  });

        

Axios是一个基于Promise的HTTP库,专为浏览器和Node.js设计,它使得在JavaScript环境中发送HTTP请求变得简单易用。Axios支持浏览器环境下的XMLHttpRequest API,也能够处理JSONP、CORS(跨源资源共享)、本地文件以及浏览器History API请求。 **基本使用步骤:** 1. **安装**: 首先需要通过npm或yarn在项目中安装axios库: ```bash npm install axios # 或者 yarn add axios ``` 2. **导入并创建实例**: 引入axios库,并创建一个axios实例,后续所有的请求都将基于这个实例进行: ```javascript const axios = require('axios'); const instance = axios.create(); ``` 3. **发送GET请求**: ```javascript instance.get('https://api.example.com/data') .then(response => { console.log(response.data); }) .catch(error => { console.error(error); }); ``` 4. **发送POST请求**: ```javascript instance.post('https://api.example.com/submit', { key: 'value' }) .then(response => { console.log(response.data); }) .catch(error => { console.error(error); }); ``` 5. **配置选项**: 可以设置axios实例的一些默认选项,如超时时间、请求头等: ```javascript instance.defaults.timeout = 1000; ``` 6. **取消请求**: 使用`cancelToken`可以取消正在运行的请求: ```javascript const cancelToken = axios.CancelToken.source(); const request = instance.get('/delayed', { cancelToken: cancelToken.token }); // 稍后如果想要取消请求 cancelToken.cancel('Operation cancelled by the user.'); ``` **
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值