zoukankan      html  css  js  c++  java
  • vue axios跨域请求,apache服务器设置

    问题所在axios请求会发送两次请求

    也就是说,它会先使用options去测试,你这个接口是否能够正常通讯,如果不能就不会发送真正的请求过来,如果测试通讯正常,则开始正常请求。

    思路:

    跨域-->配置apache允许跨域:

    1.修改http.conf   

    LoadModule headers_module modules/mod_headers.so 注释 允许设置header头

    2.设置vhost虚拟配置

    Header always set Access-Control-Allow-Origin "*"

    Header always set Access-Control-Allow-Methods "OPTIONS"

    Header always set Access-Control-Allow-Headers "Authorization,DNT,User-Agent,Keep-Alive,Content-Type,accept,origin,X-Requested-With"

    发现header头为options     更改路由规则为options,发现network请求两次,options请求成功,又接着post请求

    方案一:      所以设置两条路由规则  分别为options和post请求指向同一路由

    比如:

    'OPTIONS login' => 'login/login',
    'POST login' => 'login/login',

    方案二:      单独配置OPTIONS处理方法

    'OPTIONS login' => 'login/test',
    'POST login' => 'login/login',

    方案三:避免框架的加载  直接在入口文件处干掉options

    web/index.php

    if ( $_SERVER['REQUEST_METHOD'] == 'OPTIONS'){
        die;
    }

  • 相关阅读:
    Map和Set
    js基本语法入门
    js中变量的作用域,let,const详解
    循环结构
    方法
    只有分享才能一起进步
    培训随笔
    得食相呼,义也
    Wall.e
    《国学之大智慧》观感
  • 原文地址:https://www.cnblogs.com/zhouqi666/p/7880123.html
Copyright © 2011-2022 走看看