补充的Ajax

<html>

<head>   

  <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>

<!--    <script type="text/javascript" src="../ajax/ajax2.js"></script>-->

</head>

<body>

<?php $conn = mysql_connect("localhost","root","") or die("数据库连接失败".mysql_error());

mysql_select_db("bbs"); mysql_query("set names 'utf8'");

$sql = "select id,username from user";

$result = mysql_query($sql);

while($row = mysql_fetch_array($result)){    

echo "<a href='javascript:queryDetail($row[id])'>".$row['username']."</a> &nbsp;&nbsp;&nbsp;&nbsp;";

} ?>

<div id="show"></div>

</body>

<script>    

var xmlHttp;    

function queryDetail(id){  

       if(window.ActiveXObject){   

          xmlHttp = new ActiveXObject("MICROSOFT.XMLHTTP");     

    }else if(window.XMLHttpRequest){      

       xmlHttp = new XMLHttpRequest();    

     }

        if(!xmlHttp){        

     alert("没有获取到对象!");      

       return;      

   }

        //由于javascript是没有办法连接数据库的,所以,需要通过后台语言

        //结合来连接数据库,那么这里就是把js从界面获取的值,传递给后台程序     

    //xmlHttp.open()其实也就是链接到一个后台程序,把值传递过去   

      //这其实是第一步  

       xmlHttp.open("GET","queryById.php?id="+id,true);

        //这是第三步   

      //这一步是一个回调函数,回调函数其实就和打电话代办事情是一个意思  

       //这个回调函数其实就是状态改变的时候,js应该做什么事情    

     xmlHttp.onreadystatechange = function(){       

      if(xmlHttp.readyState == 4){           

      if(xmlHttp.status == 200){              

       var txt = xmlHttp.responseText;           

          var show = document.getElementById("show")

//                    方法一           

          show.innerHTML=txt;

//                    方法二

//                    if(show){

//                        show.innerHTML = "";

//                        document.body.removeChild(show);

//                    }else{

//                        var d = document.createElement("div");

//                        d.id = "show";

//                        d.style.cssText="200px;height:300px;border:1px solid red;";

//                        var strs = txt.split(",");

////                        alert(strs);

//                        for(var i=0;i<strs.length;i++){

//                            d.innerHTML += strs[i] + "<br/>";

//                        }

//                        document.body.appendChild(d);

//                    }            

     }           

  }     

    }

        //注意,open()方法就仅仅只是打开了连接,并没有传递,所以需要send方法  

       //这是第二步   

      xmlHttp.send(null);

    }

</script>

</html>

原文地址:https://www.cnblogs.com/xiaoxiaozhao/p/3716885.html