解决vue axios跨域请求发送两次问题
Posted PHP飞鸟的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决vue axios跨域请求发送两次问题相关的知识,希望对你有一定的参考价值。
问题:
vue axios跨域请求,在Request Headers
加Authorization
传递Token
时,发现统一请求触发了两次,第一次是Request Method: OPTIONS
请求。
原因:
跨域请求时,浏览器会首先使用OPTIONS
方法发起一个预请求,判断接口是否能够正常通讯。如果通讯异常,则不会发送真正的请求,如果测试通讯正常,则开始真正的请求。
解决方法:
后台:判断请求方式是OPTIONS
,则不处理;
PHP解决方法
class Common extends Controller { public function _initialize() { parent::_initialize(); // TODO: Change the autogenerated stub // 解决跨域问题 header(\'Access-Control-Allow-Origin:*\'); // 响应类型 header(\'Access-Control-Allow-Methods:*\'); // 响应头设置 header(\'Access-Control-Allow-Headers:*\'); // 解决 axios跨域请求发送两次问题 if (Request::instance()->isOptions()) { exit(); } } }
如果是JAVA后台,请看这篇文章:https://www.cnblogs.com/itmrzhang/p/11003474.html
以上是关于解决vue axios跨域请求发送两次问题的主要内容,如果未能解决你的问题,请参考以下文章