xmlHttpRequest - 从 php (array) 加载数据


xmlHttpRequest - load data from php (array)

我想用xmlhttprequest在我的select option中实现我的onchange方法(在我的情况下,jquery被禁止使用)。

这是我select option代码:

<tr><td>
<form name="group" id="form1">
  <select name="group" id="group" onchange="member();">
    <option value="" disabled selected>Choose your group..</option>
      <?php foreach ($userGroups['data'] as $groups) {
         echo "<option value='"".$groups['id']."'">".$groups['name']."</option>";
      }?>
  </select>
</form>
</td></tr>
<tr><td id="fetchmember">
   <!-- I HAVE NO IDEA WHAT CODE THAT I SHOULD WRITE HERE -->
</td></tr>

处理输入的PHP代码fetchmember.php

<?php
  include 'facebookauth.php';
    $groupId = $_GET['group'];
    $groupmember = $facebook->api('/'.$groupId.'/members');
    $membergroup = $groupmember['data'];
    foreach ($membergroup as $membergroups) {
      echo "<li>".$membergroups['name']."</li>";        
    }
?>

数组结果来自其中一个选定组$membergroup):

Array ( [0] => 
   Array ( [name] => Oryza NurFa 
           [administrator] => 
           [id] => 1645819602 ) 
        [1] => 
   Array ( [name] => Muhammad Lathif Pambudi 
           [administrator] => 
           [id] => 100000251643877 ) 
        [2] => 
   Array ( [name] => Novantio Bangun 
           [administrator] => 
           [id] => 1152078197 ) 
        [3] => 
   Array ( [name] => Oliver Jordan 
           [administrator] => 
           [id] => 1065251285 ) 
        [4] => 
   Array ( [name] => Fauzan Sandy 
           [administrator] => 
           [id] => 1434833113 ) 
        [5] => 
   Array ( [name] => Arfan Fudyartanto D. N 
           [administrator] => 1 
           [id] => 1708602453 ) )

爪哇语

<script type="text/javascript">
  function member(str)
  {
    if (str==0)
    { 
      document.getElementById("fetchmember").innerHTML="";
      return;
    }
    if (window.XMLHttpRequest)
    {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
    }
    else
    {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function()
    {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
      {
        document.getElementById("fetchmember").innerHTML=xmlhttp.responseText;
      }
    }
  xmlhttp.open("GET","fetchmember.php?group="+str,true);
  xmlhttp.send();
  }
</script>

我得到的数据是一个数组。每次更改select选项(onchange),我希望脚本加载fetchmember.php并自动打印$membergroups['name'](所选 facebook 组中的成员姓名)。是否可以直接检索数组数据?我认为数组必须转换为XML/JSON.我不知道该怎么做。我知道我的代码中仍然存在许多缺陷,无论是在php,html还是js中。

请帮忙。任何建议将不胜感激。谢谢

试试这个:

I think you should convert array you return into JSON format.
And then after getting this in ajax response.
Finally convert it into regular format using javascript function and display into the div.

-

谢谢

只需使用 jquery 即可。

jQuery("#fetchmember").empty();
jQuery.each(data, function(i, item) {
    jQuery("#fetchmember").append("someHTML");
});