由于vue2.0官方选择axios来完成 ajax 请求,所以我最近开始用axios写ajax的请求操作。我之前用的架构都是前后端分离,所以必然存在跨域问题。我根据github上axios的官方文档,写了post请求方法,可惜浏览器console控制台中输出跨域问题的错误。
服务端我已经做了http头报文header中的跨域处理
header(‘Access-Control-Allow-Origin: *‘);
但是js客户端我按照官方文档操作,发现依然有跨域问题,随后我在网上搜索相关的解决方法,发现需要在js客户端中,也就是http请求报文的头部设置编码格式Content-Type为application/x-www-form-urlencoded
axios({ method:‘post‘, url:‘请求地址‘, data:{ param:‘参数‘ }, headers: { ‘Content-Type‘: ‘application/x-www-form-urlencoded‘, } }).then(function(res){ return res.data; });
如果不加这句,post请求是可以访问到服务端,但是服务端不能正常的返回给客户端,并且在浏览器中console控制台中输出跨域错误