axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端,它本身具有以下特征:
- 从浏览器中创建 XMLHttpRequest
- 从 node.js 发出 http 请求
- 支持 Promise API
- 拦截请求和响应
- 转换请求和响应数据
- 取消请求
- 自动转换JSON数据
- 客户端支持防止 CSRF/XSRF
Vue 官方建议用 axios 代替 vue-resourse,所以在这里不做vue-resourse的探讨;
axios 使用基本方法和个别参数
axios({ url: 'http://jsonplaceholder.typicode.com/users', method: 'get', responseType: 'json', // 默认的 data: { //'a': 1, //'b': 2, } }).then(function (response) { console.log(response); console.log(response.data); }).catch(function (error) { console.log(error); })
相关依赖
安装
1:npm安装
npm install axios --save
2.在main.js下引用axios
import axios from 'axios'
一切环境依赖搭建好之后
下面来写个例子:axios请求本地json
1:在static文件夹底下新建json文件,( 本地JSON文件一定要需放在static文件夹之下。)
访问服务器文件,应该把 json文件放在最外层的static文件夹,这个文件夹是vue-cli内置服务器向外暴露的静态文件夹
2:test.json数据格式如下:
{ "name":"wnagxiaoting", "age":24 }
3:写一个axios
getData() { axios.get('../../static/test.json').then(response => { console.log(response.data); }, response => { console.log("error"); }); }
4:整体代码如下:
<template> <div id="app"> </div> </template> <script> import axios from "axios"; export default { name: "app", data() { return { itemList: [] } }, mounted() { this.getData(); }, methods: { getData() { axios.get('../../static/test.json').then(response => { console.log(response.data); }, response => { console.log("error"); }); } } } </script>
5:前台显示: