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;
    }

  • 相关阅读:
    Solidity通过合约转ERC20代币
    各种开源协议区别
    shell脚本之函数
    shell脚本之循环和循环控制
    shell脚本之if判断以及case多分支选择
    shell脚本之数组
    shell脚本之变量
    nginx常用内置变量
    nignx配置文件详解
    nginx源码安装./configure常见参数详解
  • 原文地址:https://www.cnblogs.com/zhouqi666/p/7880123.html
Copyright © 2011-2022 走看看