import axios from "axios"
const instance=axios.create({
baseURL:"http://localhost:8080/admin/",
timeout:5000
})
instance.interceptors.request.use(
config=>{
// config.headers.token=""
console.log("-----------请求拦截------------")
return config
},
err=>{
return Promise.reject(err)
}
)
instance.interceptors.response.use(
response=>{
console.log("-----------响应拦截------------")
return response
},
err=>{
return Promise.reject(err)
}
)
export function get(url,params){
return instance.get(url,{params})
}
export function post(url,params){
return instance.post(url,params,{
transformRequest:[
function(data){
let str="";
for(let key in data){
str+=encodeURIComponent(key)+"="+encodeURIComponent(data[key])+"&";
}
return str;
}
],
headers:{
"Content-Type":"application/x-www-form-urlencoded"
}
})
}
export function del(url){
return instance.delete(url);
}
1、axios的特点有哪些?
答:
一、Axios 是一个基于 promise 的 HTTP 库,支持promise所有的API
二、它可以拦截请求和响应
三、它可以转换请求数据和响应数据,并对响应回来的内容自动转换成 JSON类型的数据
四、安全性更高,客户端支持防御 XSRF
2、axios有哪些常用方法?
答:
1、axios.get(url[, config]) //get请求用于列表和信息查询
2、axios.delete(url[, config]) //删除
3、axios.post(url[, data[, config]]) //post请求用于信息的添加
4、axios.put(url[, data[, config]]) //更新操作
3、说下你了解的axios相关配置属性?
答:url
是用于请求的服务器URL
method
是创建请求时使用的方法,默认是get
baseURL
将自动加在url
前面,除非url
是一个绝对URL。它可以通过设置一个baseURL
便于为axios实例的方法传递相对URL
transformRequest
允许在向服务器发送前,修改请求数据,只能用在'PUT','POST'和'PATCH'这几个请求方法
headers
是即将被发送的自定义请求头
headers:{'X-Requested-With':'XMLHttpRequest'},
params
是即将与请求一起发送的URL参数,必须是一个无格式对象(plainobject)或URLSearchParams对象
params:{
prop1:value
},
auth
表示应该使用HTTP基础验证,并提供凭据
这将设置一个Authorization
头,覆写掉现有的任意使用headers
设置的自定义Authorization
头
auth:{
username:'username',
password:'12132323'
},
'proxy'定义代理服务器的主机名称和端口auth
表示HTTP基础验证应当用于连接代理,并提供凭据
这将会设置一个Proxy-Authorization
头,覆写掉已有的通过使用header
设置的自定义Proxy-Authorization
头。
proxy:{
host:'127.0.0.1',
port:8080,
auth::{
username:'admin',
password:'123456'
}
}