标签:qs axios 请求 get updata post 跨域
后端已做了跨域处理,后端是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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。