PHP中如何解决ajax跨子域的问题-创新互联

小编给大家分享一下PHP中如何解决ajax跨子域的问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

创新互联网站建设服务商,为中小企业提供成都网站设计、成都网站制作服务,网站设计,网站改版维护等一站式综合服务型公司,专业打造企业形象网站,让您在众多竞争对手中脱颖而出创新互联

具体如下:

对于主域相同,子域不同,我们可以设置相同的document.domain来欺骗浏览器,达到跨子域的效果。

例如:我们有两个域名:www.a.com 和 img.a.com

在www.a.com下有a.html

在img.a.com下有img.json和img.html这两个文件。

img.json就是一些我们要获取的数据:

[
  {
    "name" : "img1",
    "url" : "/tupian/20230522/404.html
  },
  {
    "name" : "img2",
    "url" : "/tupian/20230522/404.html
  }
]

img.html就是我们iframe要引用的:




  
  Insert title here




  document.domain = "a.com";

  var p = parent.window.$;
  p("#sub").text("我是子页面添加的");


a.html就是要通过跨子域获取数据的页面:




  
  Insert title here






document.domain = "a.com"; $("#iframe").bind("load", function() {   //获取子页面的jquery对象   iframe = document.getElementById("iframe").contentWindow.$;   iframe.getJSON("http://img.a.com/img.json", function(data) {     var con = "";     //注意这里的$对象是www.a.com上的     $.each(data, function(i, v) {       con += "
  • " + v.name + ":" + v.url + "
  • ";     });     $("#data").html(con);   }); });

    a.html中我们通过contentWindow.$来获取子页面的jquery对象,然后通过getJSON获取数据,并通过www.a.com上的$对象把数据写入到ul中。

    在子页面img.html中我们通过parent.window来访问父页面的$对象,并操作元素添加数据。

    看完了这篇文章,相信你对“PHP中如何解决ajax跨子域的问题”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


    文章名称:PHP中如何解决ajax跨子域的问题-创新互联
    网页URL:http://myzitong.com/article/djsdhp.html

    其他资讯