跨域的其他方式

薄洪涛7年前PHP1240

上次向大家介绍了跨域的解决方式jsonp,总感觉差点什么,所以,补充一下,介绍另外一种跨域方式:

比如说,公司内部系统之间,比如ERP和OA之间想要进行数据交互,但是每个系统都有自己的域名,如果想实现数据的共享(使用ajax)就需要使用跨域请求。

html代码:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        function callback(msg) {
        alert(msg)
        }
    </script>
    <script src="http://www.space.com/jsonp/kuayu.php?fn=callback"></script>
 </head>
    <body>
        <input type="button" id="bt" value="跨域请求">
  </body>
</html>

php代码

<?php
$fn = $_GET['fn'];
$str = 'hello ajax';
echo $fn."('$str')";

点击button,我们会发现,弹出msg

换个思路

把html代码换成如下代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        function callback(msg) {
            alert(msg)
        }
        window.onload = function () {
            document.getElementById('bt').onclick = function () {
                var sc = document.createElement('script');
                sc.src = "http://www.space.com/jsonp/kuayu.php?fn=callback";
                document.getElementsByTagName('head')[0].appendChild(sc);
            }
        }
    </script>
</head>
<body>
<input type="button" id="bt" value="跨域请求">
</body>
</html>

php代码不变

其中,php代码中返回的数据并不一定是str,也可以是json格式(比如从数据库中查询出来的记过json_encode一下);

这样就可以实现不同域之间的跨域数据共享

相关文章

Yii2.0行为Behavior的理解

Yii2.0行为Behavior的理解

在说什么叫行为之前,觉得说下行为的作用比较好;使用行为(behavior)可以在不修改现有类的情况下,对类的功能进行扩充。通过将行为绑定到一个类,可以使得类具有行为本身所具有的属性和方法;在设计原则中...

Yii2.0框架ActiveForm总结

首先引入ActiveForm和Html这里两个是很重要的<?php     use yii\bootstrap\ActiveForm; &nbs...

Elasticsearch集群第一篇之安装

Elasticsearch集群第一篇之安装

    全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引擎的首选。它可以快速地储存...

Elasticsearch第三篇之全文搜索及在Yii2.0中的使用

Elasticsearch第三篇之全文搜索及在Yii2.0中的使用

前几天做了一个模块,大数据的搜索,其实也不是特别大,组合起来差不多800万左右,用的是mysql数据库,需求有这么变态的两点;需要按照地址去搜索按照起止时间去搜索别的不说,就这两条,mysql也就只能...

php redis Hash操作

//为user表中的字段赋值。成功返回1,失败返回0。若user表不存在会先创建表再赋值,若字段已存在会覆盖旧值。 $redis->hSet('user', ...

抢红包的一些实现思路

抢红包的一些实现思路

最近探索了关于抢红包的一些实现思路,在此记录下本篇文章主要探讨了金额随机算法关于分布式锁的一些探索我们开始,首先说下抢红包的业务流程,分为两步,发红包和抢红包,在抢红包的时候,并发是非常大的,我们这里...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。