VUE axios发送跨域请求需要注意的问题
发布时间:2020-12-17 02:53:47 所属栏目:百科 来源:网络整理
导读:在实际项目中前端使用到vue,后端使用php进行开发。前端使用axios请求请求 关于跨域 跨域的概念这些就不说了,百度一大堆相关的资料信息。我就只在这里记录下我在使用当中遇到的问题,以纪念在逝去的几个小时中资料查找的艰辛。 不多说,直接上代码~~~~ 同理
在实际项目中前端使用到vue,后端使用php进行开发。前端使用axios请求请求 关于跨域跨域的概念这些就不说了,百度一大堆相关的资料信息。我就只在这里记录下我在使用当中遇到的问题,以纪念在逝去的几个小时中资料查找的艰辛。 不多说,直接上代码~~~~ 同理,跨域的解决方案为cros。服务器 PHP端代码如下(laravel 中间件进行处理): 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在发送数据时需要字符串的方式进行发送,也就是说是放在form-data当中的。在实际项目中,为了方便,我引入了 qs 来帮助处理这块数据: 解决后的代码应该是: {
console.log(re);
});
OK,问题解决。明明感觉很简单,但是就是因为自己不懂,导致找了很久才知道原因,之前一直在折腾后台的设置,忽略了前端本身的处理。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |