本文主要跟大家介绍了关于使用axios的一些心得技巧,分享出来供大家参考学习、下面来一起看看详细的介绍:
axios默认是请求的时候不会带上饼干的,需要通过设置withCredentials:真正的来解决。
首先必须设置请求头
//可以通过这种方式给axios设置的默认请求头 axios.defaults.headers={ “内容类型”:“应用程序/x-www-form-urlencoded” }
其次再发送之前需要处理一下数据
//发送请求前处理请求的数据 axios.defaults.transformRequest=[功能(数据){//转换数据做任何你想做的 让newDatahttps://www.yisu.com/zixun/=? (让k数据){ newData +=encodeURIComponent (k) + '=' + encodeURIComponent(数据[k]) + ', ' } 返回newData }]
<强>
强>
你可以截取请求或响应在被然后或者抓处理之前。
举个小例子:发ajax请求的时候需要有一个加载动画,而在请求回来之后需要把加载动画关掉,就可以使用这个拦截器来实现。
//添加请求拦截器 axios.interceptors.request.use (config=比;{//在发送请求之前做某事,比如说设置加载动画显示 返回配置 },错误=比;{//请求错误时做些事 返回Promise.reject(错误) })//添加响应拦截器 axios.interceptors.response.use(响应=比;{//对响应数据做些事,比如说把加载动画关掉 返回响应 },错误=比;{//请求错误时做些事 返回Promise.reject(错误) })//如果不想要这个拦截器也简单,可以删除拦截器 var myInterceptor=axios.interceptors.request.use(函数(){/*…*/}) axios.interceptors.request.eject (myInterceptor)
一般会将所有的ajax请求放在一个模块中,新建一个http.js
//http.js//设置请求baseURL axios.defaults.baseURL='/api '//设置默认请求头 axios.defaults.headers={ “内容类型”:“应用程序/x-www-form-urlencoded” }//发送请求前处理请求的数据 axios.defaults.transformRequest=[功能(数据){ 让newDatahttps://www.yisu.com/zixun/=? (让k数据){ newData +=encodeURIComponent (k) + '=' + encodeURIComponent(数据[k]) + ', ' } 返回newData })//带饼干请求 axios.defaults.withCredentials=true//得到请求 函数得到(url) { 返回身体=比;axios。get (url,{参数:身体}) }//后请求 函数的帖子(url) { 返回身体=比;axios。post (url,身体) }//导出使用 出口const登录=得到(/登录)
假设配合vue使用
//引入登录模块 从“http”进口{登录} 出口默认{ 方法:{//配合async/等待使用效果更佳 异步get () { 尝试{ 让res=等待登录({账户:“admin”}) console.log (res) } 抓住(e) { console.log (e) } } } }
再另外有些人可能喜欢把axios挂载到Vue的原型上,从而在子组件内可以直接访问的到,做法如下:
Vue.prototype。http=axios//美元其他页面在使用axios的时候直接。http美元就可以了
除非页面足够简单,不然我个人不太喜欢这种做法。
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如有疑问大家可以留言交流,谢谢大家对的支持。