共计 694 个字符,预计需要花费 2 分钟才能阅读完成。
18 年初开始接触 vue, 最开始是使用的 vue-resource, 不过听说 axios 挺牛逼的,准备跳坑试试,毕竟 vue-resource 官方已经放弃维护了
其中就是 baseURL 是我们后台接口的请求路劲 (request 的最后 url=baseURL+axios 的请求 url) withCredentials 这个字段是让我们的请求携带 cookie 的信息,如果没有设置的话,默认的 false, 就会出现 session 丢失的情况,一直无法取到 session 里面的信息
request 请求拦截器,在这里我们可以在做一些请求之前操作,对于某些请求,根据请求的携带过来的参数
(例如下面这个请求,就没有 loading 的效果)
有些项目需要请求好几个后台服务,在请求拦截器这里直接更改 request 的 baseURL 就成。。还有有些接口需要更改头部的信息,直接修改就成 ps:这这里不得不吐槽下 vue-resource 在请求拦截器里面更改头部所碰到的坑,想更改头部的信息,必须得先将 emulateJSON 这个字段设为 false
axios 的请求默认的 headers 的 Content-Type 为 ’application/x-www-form-urlencoded;charset=UTF-8’post 请求后端的 (后端框架 ssm)Controller 中 @RequestParam 取不到请求参数这个时候对请求参数做 qs.stringify() 处理就好了或者要求后端改成从 @RequestBody 获取参数也成
当请求头部为 application/json 无需对请求参数做任何处理 response 响应拦截器主要是对请求超时的情况做处理。