jsonp
axios
定义:axios就是一种 前端向后端发送网络请求 的工具。 功能特点: (1)在浏览器中发送 XMLHttpRequests 请求 (2)在node.js 中发送 http 请求 (3)支持 Promise API (4)拦截请求和响应 (5)转换请求和响应数据,等等
axios框架的基本使用
axios({
url: 'http://123.207.32.32:8000/home/multidata',
}).then(res => {
console.log(res);
})
axios({
url: 'http://123.207.32.32:8000/home/data',
params: {
type: 'pop',
page: 1
}
}).then(res => {
console.log(res);
})
axios发送并发请求
axios的相关配置
注: 不同请求,传入的对象需要对应 (1)get请求,传入params (2)post请求,传入data
axios的实例和模块封装
axios的实例
前面均是使用 全局的 axios和对应的配置在进行网络请求。
const instance1 = axios.create({
baseURL: 'http://123.207.32.32:8000',
timeout: 5000
})
instance1({
url: '/home/multidata'
}).then(res => {
console.log(res);
})
instance1({
url: '/home/data',
params: {
type: 'sell',
page: 2
}
}).then(res => {
console.log(res);
})
模块封装
模块封装 就是为了能够在项目中,不要直接使用第三方框架。 在封装好的模块中使用第三方框架,而其他的网络请求仅向封装好的模块进行交互,可以有效避免当第三方框架被废弃时,程序需要做大规模改动。
axios的拦截器
request.js文件中的代码
import axios from 'axios'
export function request(config) {
const instance = axios.create({
baseURL: 'http://123.207.32.32:8000',
timeout: 5000
})
axios.interceptors.request.use(config => {
return config
}, err => {
})
instance.interceptors.response.use(res => {
return res
}, err => {
})
return instance(config)
}
|