Vuejs2.0之axios请求方式,跨域请求的处理

Vuejs由1.0更新到了2.0版本。HTTP请求官方也从推荐使用Vue-Resoure变为了axios

关于跨域

跨域的概念这些就不说了,百度一大堆相关的资料信息。我就只在这里记录下我在使用当中遇到的问题,以纪念在逝去的几个小时中资料查找的艰辛。


Vuejs2.0之axios请求方式,跨域请求的处理_第1张图片

这样写,在请求的时候就会遇到:

很坑爹有没有?明明是已经设置好了的啊,为毛是这样???

查找了很多资料才发现,axios在发送数据时需要字符串的方式进行发送,也就是说是放在form-data当中的。

解决方案:

可以全局配置一个 base,这样就不用挨个儿修改 url 了


Vuejs2.0之axios请求方式,跨域请求的处理_第2张图片

接着在config>index.js的dev中添加配置项proxyTable:

Vuejs2.0之axios请求方式,跨域请求的处理_第3张图片

其中 '/api' 为匹配项,target 为被请求的地址

因为在 ajax 的 url 中加了前缀 '/api',而原本的接口是没有这个前缀的

所以需要通过 pathRewrite 来重写地址,将前缀 '/api' 转为 '/'

如果本身的接口地址就有 '/api' 这种通用前缀,就可以把 pathRewrite 删掉

你可能感兴趣的:(Vuejs2.0之axios请求方式,跨域请求的处理)