首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ajax、json、外部url加载数据

ajax、json、外部url加载数据
EN

Stack Overflow用户
提问于 2014-08-19 21:45:10
回答 2查看 58关注 0票数 0

我有问题,请帮帮忙

我有2个网站,我想互相发送数据

第一个站点:

代码语言:javascript
复制
          var site_adres = $(location).attr('href');

          var myArray = site_adres.split('/');

          var site_adi_al = myArray[2];

          $.getJSON('xxx.com/site/admin.php?site_adres='+ site_adi_al +'',  

            {},
        function (data) {  

         $.each( data, function ( i, val ) {

         var id=val['id'];
         var site_adi=val['site_adi'];
         $(".site_adi").append('<li>'+id+' >> <a href="'+site_adi+'"   
         target="_blank">'+site_adi+'</a></li>');



          });

第二个站点:

代码语言:javascript
复制
                     $site_adi = $_GET["site_adi"];

/*查询*/

代码语言:javascript
复制
              $query = mysql_query("SELECT * FROM site WHERE site_adi = '$site_adi'");
            if ( mysql_affected_rows() ){
              $row = mysql_fetch_object($query);
              $json = array(
              "id" => $row->id,
              "site_adi" => $row->site_adi
                  );
             }else{
              $json["hata"] = "Nothing !";
                 }
          header("access-control-allow-origin: *");
          echo json_encode($json);

结果0,出什么问题了,请帮帮忙

EN

回答 2

Stack Overflow用户

发布于 2014-08-19 22:39:17

您有两个基本问题(除了问题注释中解释的安全问题)。

  1. 您正在发送site_adres,但正在读取$_GET["site_adi"]。你不能在不显式地编写代码来链接它们的情况下对同一事物使用不同的名称。
  2. 你正在使用$.each( data, function ( i, val ) {data上循环,就好像它是一个对象数组一样,但你的

只发送一个对象(它不在数组中)。您应该直接访问data的属性,而不是使用eachval.

票数 0
EN

Stack Overflow用户

发布于 2014-08-19 21:48:51

你应该在你的set服务器上设置CORS,允许它们互相获取数据,因为你使用的是php,我假设你使用的是apache:

代码语言:javascript
复制
Header set Access-Control-Allow-Origin "*" 

将*替换为您其他网站的ip地址,反之亦然。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25385051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档