其他分享
首页 > 其他分享> > vue await axios.post 显示跨域,get就不会

vue await axios.post 显示跨域,get就不会

作者:互联网

后端已做了跨域处理,后端是tp5做的

Nginx

 

tp控制器里引入use think\facade\Hook;   

在方法中调用  Hook::listen('my_cors'); 

 

问题:vue前端使用 await axios.get请求没问题,但是post请求会提示跨域

原因:

网上百度资料:跨域分为 简单跨域请求和复杂跨域请求:简单跨域请求是不会发送options请求的。

把request method:options 变成post,查询文档发现默认发送的是字符串格式,需要将其转化成URL的格式,以&进行拼接。

可以引入qs解决问题

 

方法步骤:

1、vue 引入qs

npm install qs

import qs from 'qs'   2、在请求方法中加入  qs.stringify(updata)      updata是需要上传的数据 await axios.post('api',qs.stringify(updata)).then(function(res){                     }).catch(function (error) {                     });     结果完美解决!

 

标签:qs,axios,请求,get,updata,post,跨域
来源: https://www.cnblogs.com/xzc1689/p/16393101.html