zoukankan      html  css  js  c++  java
  • 解决vue axios跨域请求发送两次问题

    问题:

    vue axios跨域请求,在Request HeadersAuthorization传递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

  • 相关阅读:
    xxx
    部署在自己的加了分享,试下
    疑问
    去掉分享
    womenzijide_jiafenxiang
    womenzijide2
    womenzijide
    xiugai-去除js注释
    xiugai2
    《设计模式之禅》读书笔记(一)——单例模式
  • 原文地址:https://www.cnblogs.com/wordblog/p/12171875.html
Copyright © 2011-2022 走看看