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

  • 相关阅读:
    jQuery 源码基本框架
    jQuery 源码细读 -- $.Callbacks
    Excel等外部程序点击链接会带上IE信息的bug
      与 空格的区别
    前端模板文件化jQuery插件 $.loadTemplates
    客户端渲染的页面能否被搜索引擎完整收录呢?
    javascript 函数声明问题
    JavaScript 继承机制小记
    link与@import
    tcp_udp
  • 原文地址:https://www.cnblogs.com/zhouqi666/p/7880123.html
Copyright © 2020-2023  润新知