相思资源网 Design By www.200059.com
在实际项目中前端使用到vue,后端使用php进行开发。前端使用axios请求请求
关于跨域
跨域的概念这些就不说了,百度一大堆相关的资料信息。我就只在这里记录下我在使用当中遇到的问题,以纪念在逝去的几个小时中资料查找的艰辛。
不多说,直接上代码~~~~
同理,跨域的解决方案为cros。服务器 PHP端代码如下(laravel 中间件进行处理):
public function handle($request, Closure $next) { if ($request->isMethod('OPTIONS')) { $response = response('', 200); } else { $response = $next($request); } if (!method_exists($response, 'header')) { return $response; } $response->header('Access-Control-Allow-Methods', 'HEAD, GET, POST, PUT, PATCH, DELETE, OPTIONS'); $response->header( 'Access-Control-Allow-Headers', 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With, Token' ); $response->header('Access-Control-Allow-Origin', '*'); $response->header('Access-Control-Max-Age', 86400); return $response; }
Vue端 axios 请求:
axios.post('http://XXXX.com',{name:'test'});
这样写,在请求的时候就会遇到:
很坑爹有没有?明明是已经设置好了的啊,为毛是这样???
查找了很多资料才发现,axios在发送数据时需要字符串的方式进行发送,也就是说是放在form-data当中的。在实际项目中,为了方便,我引入了 qs 来帮助处理这块数据:
解决后的代码应该是:
import qs from 'qs'; axios.post('http://xxxxx.com',qs.stringify({name:'test'})).then(re=>{ console.log(re); });
OK,问题解决。明明感觉很简单,但是就是因为自己不懂,导致找了很久才知道原因,之前一直在折腾后台的设置,忽略了前端本身的处理。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
相思资源网 Design By www.200059.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
相思资源网 Design By www.200059.com
暂无VUE axios发送跨域请求需要注意的问题的评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。