由于vue2.0官方选择axios来完成 ajax 请求,所以我最近开始用axios写ajax的请求操作。我之前用的架构都是前后端分离,所以必然存在跨域问题。我根据github上axios的官方文档,写了post请求方法,可惜浏览器console控制台中输出跨域问题的错误。
服务端我已经做了http头报文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控制台中输出跨域错误