最近在使用axios的post请求时,遇到一点问题,在post请求数据时,经常会报跨域问题。最后在看request发现没有content-type,后来查询文章时发现axios默认是application/json格式的。所以在http请求时,就会报出跨域问题。
解决方法:
为了解决这个问题,我们需要使用qs.stringfy(data)这种形式,要不然即使添加了请求头,最后的content-type的形式还是json的。
但有时候数据为了保密,进行了加密,还是会出现问题的,所以,为了万无一失,推荐大家使用jquery的ajax。
参考文档:https://github.com/mzabriskie/axios#using-applicationx-www-form-urlencoded-format
更新于2017-09-06 axios的跨域问题---使用proxyTable
关于axios的跨域问题,还有一种方法可以进行跨域,就是使用proxyTable进行跨域
首先我们要知道proxyTable在哪,我们需要找到config---index.js里面的dev可以找到
比如我们要请求的地址是http:127.0.0.1:8380/myFirstWebApp/List
这是在proxyTable的设置就是如下图1
修改好设置后我们请求的url就只需要改成图2的形式


一些注意的问题:
1、proxyTable的参数意义:target就是我们需要替换的ip和端口号。changOrigin就是是否用localhost替换请求的url。pathRewrite就是资源的重定向。
2、当我们修改proxyTable的参数时,需要重启项目,要不然不会起作用的,因为这属于项目配置项,不重启项目的话是不会应用到项目的。
3、这只是为了解决开发时的跨域问题。可以测试接口的办法。
参考地址:https://github.com/chimurai/http-proxy-middleware
网友评论