纵有疾风起
人生不言弃

解决vue axios跨域请求发送两次问题

问题:

vue axios跨域请求,在Request HeadersAuthorization传递Token时,发现统一请求触发了两次,第一次是Request Method: OPTIONS请求。

原因:

跨域请求时,浏览器会首先使用OPTIONS方法发起一个预请求,判断接口是否能够正常通讯。如果通讯异常,则不会发送真正的请求,如果测试通讯正常,则开始真正的请求。

解决方法:

后台:判断请求方式是OPTIONS,则不处理;

 
解决vue axios跨域请求发送两次问题插图
预请求

 
解决vue axios跨域请求发送两次问题插图1
发送真正请求

 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

文章转载于:https://www.cnblogs.com/wordblog/p/12171875.html

原著是一个有趣的人,若有侵权,请通知删除

未经允许不得转载:起风网 » 解决vue axios跨域请求发送两次问题
分享到: 生成海报

评论 抢沙发

评论前必须登录!

立即登录