php & vue 跨域问题解决方案

方案1:在服务端配置指定的域名

   (注:在vue中无需设置;‘Access-Control-Allow-Origin‘如果为*则依然会报错,必须得是指定的域名)

    /**
     * 设置能访问的域名
     *
     * @var array
     */
    static public $originarr = [
        ‘http://lc.vue.com:82‘, // 前端本地测试域名
        ‘http://127.0.0.1:82‘, // 前端本地测试域名
        ‘http://localhost:8066‘, // 前端本地测试域名
        ‘http://localhost:8067‘, // 前端本地测试域名
        ‘http://127.0.0.1:8066‘, // 前端本地测试域名
        ‘http://127.0.0.1:8067‘, // 前端本地测试域名
        ‘http://192.168.0.100:8066‘, // 前端本地测试域名
    ];

    /**
     * 允许多个域名访问  TODO 暂时对于非访问的域名不做其他处理.
     *
     */
    static function set_header()
    {
        // 获取当前跨域域名
        $origin = isset($_SERVER[‘HTTP_ORIGIN‘]) ? $_SERVER[‘HTTP_ORIGIN‘] : ‘‘;
        if (in_array($origin, self::$originarr)) {
            // 允许 $originarr 数组内的 域名跨域访问
            header(‘Access-Control-Allow-Origin:‘ . $origin);
            // 响应类型
            header(‘Access-Control-Allow-Methods:POST,GET‘);
            // 带 cookie 的跨域访问
            header(‘Access-Control-Allow-Credentials: true‘);
            // 响应头设置
            header(‘Access-Control-Allow-Headers:x-requested-with,Content-Type,X-CSRF-Token‘);
        }
    }

方案2:...

原文地址:https://www.cnblogs.com/sz-xioabai/p/12598791.html

时间: 2024-10-04 18:50:02

php & vue 跨域问题解决方案的相关文章

.net 访问 geoserver 发布的 wms   跨域问题解决方案

环境:  服务器  geoserver2.4.1 开发机访问服务器发布的wms 存在跨域问题,研究两天终于找到解决方案. 主要思路是: 使用jquery的ajax 代替Groserver的request, 然后将wms的请求地址转发到.net的处理程序, 使用.net的处理程序进行跨域处理.  function mouseClick(e) {             var layer = new Array();             layer = map.getLayersByName(

angularjs跨域post解决方案

转自:http://www.thinksaas.cn/topics/0/34/34536.html 前端同学李雷和后台同学韩梅梅分别在自己电脑上进行开发,后台接口写好的时候,李雷改动完就把前端代码上传到gitlab,然后在测试机上从gitlab上拉下来,然后在测试机上移动最新代码,最后回到本机刷新页面.有时候碰到网速不好的情况传个git传了半天,或者李雷刚上传完发现少写了一个单词,加上再传上一看尼玛单词又写错了.对于实时需要改动代码的李雷同学而言 另外一种方案是李雷和韩梅梅分别在自己电脑上进行开

jquery跨域访问解决方案

客户端“跨域访问”一直是一个头疼的问题,好在有jQuery帮忙,从jQuery-1.2以后跨域问题便迎刃而解.由于自己在项目中遇到跨域问题,借此机会对跨域问题来刨根问底,查阅了相关资料和自己的实践,算是解决了跨域问题.便记录下来,以供查阅.         jQuery.ajax()支持get方式的跨域,这其实是采用jsonp的方式来完成的.        真实案例:        $.ajax({             async:false,             url: 'http:

C#进阶系列——WebApi 跨域问题解决方案:CORS

from:http://www.cnblogs.com/landeanfen/p/5177176.html 阅读目录 一.跨域问题的由来 二.跨域问题解决原理 三.跨域问题解决细节 1.场景描述 2.场景测试 四.总结 正文 前言:上篇总结了下WebApi的接口测试工具的使用,这篇接着来看看WebAPI的另一个常见问题:跨域问题.本篇主要从实例的角度分享下CORS解决跨域问题一些细节. WebApi系列文章 C#进阶系列--WebApi接口测试工具:WebApiTestClient C#进阶系列

PHP Ajax 跨域问题解决方案

本文通过设置Access-Control-Allow-Origin来实现跨域. 例如:客户端的域名是client.0751.tv,而请求的域名是server.0751.tv. 如果直接使用ajax访问,会有以下错误: XMLHttpRequest cannot load http://server.0751.tv/server.php. No 'Access-Control-Allow-Origin' header is present on the requested resource.Ori

跨域请求解决方案

在前端开发过程中,难免和服务端产生数据交互.一般情况我们的请求分为这么几种情况: 只关注发送,不关注接收 不仅要发送,还要关注服务端返回的信息 同域请求 跨域请求 上面提到了一个概念,我们这里简单做一下讲解.什么叫做跨域?一般情况下,跨域分为三种情况:跨协议.跨子域.跨域名.下面距离梳理一下这三种情况. 跨协议:比如说我现在的域名地址是http://www.12306.cn,有一些请求需要发送到https://www.12306.cn,此时这个请求相对与http://www.12306.cn来说

Javascript跨域访问解决方案

Javascript跨域访问解决方案 分类: WEB TIPS 2009-02-13 14:08 15882人阅读 评论(5) 收藏 举报 javascriptiframeservletcallbackdomainfunction 由于安全方面的考虑,Javascript被限制了跨域访问的能力,但是有时候我们希望能够做一些合理的跨域访问的事情,那么怎么办呢?这里分两类情况:一.基于同一父域的子域之间页面的访问:参见如下3个domain域:taobao.com.jipiao.taobao.com.

No 'Access-Control-Allow-Origin' Ajax跨域访问解决方案

No 'Access-Control-Allow-Origin' header is present on the requested resource. 当使用ajax访问远程服务器时,请求失败,浏览器报如上错误.这是出于安全的考虑,默认禁止跨域访问导致的. 一.什么是跨域访问 举个栗子:在A网站中,我们希望使用Ajax来获得B网站中的特定内容.如果A网站与B网站不在同一个域中,那么就出现了跨域访问问题.你可以理解为两个域名之间不能跨过域名来发送请求或者请求数据,否则就是不安全的.跨域访问违反

浏览器跨域访问解决方案

浏览器跨域访问解决方案 2015年11月4日 18972次浏览 跨域的概念 跨域大家都知道,不同地址,不同端口,不同级别,不同协议都会构成跨域.例如:about.haorooms.com和www.haorooms.com都会构成跨域.总结起来只要协议.域名.端口有任何一个不同,都被当作是不同的域.下面举例,每两个一组. URL 说明 是否允许通信 http://www.haorooms.com/a.js http://www.haorooms.com/b.js 同一域名下 允许 http://w