<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>FAQ</title>
<script type="text/javascript">
var xmlHttp;
var currFaqId;function createXmlHttp(){
if (window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}else{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
function laodFAQ(faqId){
currFaqId=faqId;
var currFaqDetail = getFaqDetailDiv(faqId); if (currFaqDetail.style.display == "none"){
currFaqDetail.style.display = "block"
if (currFaqDetail.innerHTML == ""){
createXmlHttp();
xmlHttp.onreadystatechange = loadFAQCallback;
xmlHttp.open("GET","read_faq.php?faqId="+faqId,true);
xmlHttp.send();
}
}else{
currFaqDetail.style.display="none";
}
}function loadFAQCallback(){
alert(xmlHttp.readystate);
if(xmlHttp.readystate == 4){
getFaqDetailDiv(currFaqId).innerHTML = xmlHttp.responeText;
}
}
function getFaqDetailDiv(faqId)
{
return document.getElementById("faqDetail"+faqId);
}
</script>
</head>
<body>
<h1>FAQ</h1>
<?php 
$sqlcon=mysql_connect("localhost","root","123456qwe") or die("Error Connecting");
$sqlstring="select id, faq from faq order by id asc";
mysql_select_db("ajax",$sqlcon);
$sqlquery=mysql_query($sqlstring, $sqlcon);
while ($result=mysql_fetch_array($sqlquery))
{
?>
<div>
<a href="#" onclick="loadFAQ(<?php echo $result['id'];?>);return false;">
<?php echo $result['faq']; ?>
</a>
</div>
<div id="faqDetail<?php echo $result['id'] ?>" style="display:none">
</div>
<?php 
}
?>
</body>
</html>以上是页面代码<?php
$id=$_GET['faqId'];
$sqlcon=mysql_connect("localhost","root","123456qwe");
$sqlstring="select detail from faq where id = ".$id;
mysql_select_db("ajax",$sqlcon);
$sqlquery=mysql_query($sqlstring);
$result=mysql_fetch_array($sqlquery);
if ($result)
{
echo $result['detail'];
}else {
echo "wrong searching";
}
?>以上是服务器端响应页当我打开页面代码的时候,我点击了每个连接但是没有东西显示出来.请高手们帮忙改一下CODE,顺便解释一下为什么不行.

解决方案 »

  1.   

    给你一个简单例子erji.html
    <html>
    <head>
    <title>ajax+php无刷新二级联动菜单的应用实例</title><script language="javascript">
    var xmlhttp = null;function getxmlhttprequest()
    {
        var xmlhttp=null;
        try
        {
            xmlhttp = new XMLHttpRequest();
        }
        catch(e)
        {
            try
            {
                xmlhttp = new ActiveXObject("msxml2.xmlhttp");
            }
            catch (e)
            {
                try
                {
                    xmlhttp = new ActiveXObject("microsoft.xmlhttp");
                }
                catch(e)
                {
                    xmlhttp = false;
                }            
            }
        }return xmlhttp;
    }function sendrequest()
    {
        var prov_name = document.getElementById("province").value;
        
        if((prov_name == null) || (prov_name == ""))
            return;
        
        xmlhttp = getxmlhttprequest();
        if(xmlhttp == null)
        {
            alert("浏览器不支持xmlhttprequest!");
            return;
        }    var url = "erji.php";
        url = url + "?prov=" + prov_name;    xmlhttp.open("GET", url, true);
        xmlhttp.onreadystatechange = updatepage;
        xmlhttp.send(null);
    }function updatepage()
    {
        if(xmlhttp.readystate == 4 && xmlhttp.status == 200)
        {
            var response = xmlhttp.responseText;
            document.getElementById("city").innerHTML = response;
    alert(response);
        }
    }
    </script>
    </head>
    <body>
    <h3>请选择一个省(自治区):</h3><form action="erji.php">
        <div>
        <select id="province" onchange="sendrequest()">
            <option value="">请选择一个省(自治区)</option>
            <option value="ah">安徽</option>
            <option value="fj">福建</option>
            <option value="gs">甘肃</option>
            <option value="gd">广东</option>
            <option value="gx">广西</option>
            <option value="gz">贵州</option>
            <option value="hn">海南</option>
            <option value="hb">河北</option>
            <option value="hh">河南</option>
            <option value="hl">黑龙江</option>
        </select>
        </div>
    </form><div id="city"></div></body>
    </html>
    erji.php
    <?php
    $city_arr = array(
    "ah"=>"合肥",
    "fj"=>"福州",
    "gs"=>"兰州",
    "gd"=>"广州",
    "gx"=>"南宁",
    "gz"=>"贵阳",
    "hn"=>"海口",
    "hb"=>"石家庄",
    "hh"=>"郑州",              
    "hl"=>"哈尔滨"
    );if(empty($_GET['prov']))
    {
       echo iconv("gb2312","utf-8",'<font color="red">您没有选择省(自治区)</font>');
      
    }
    else
    {
        $prov = $_GET['prov'];
        $city = $city_arr[$prov];
        echo iconv("gb2312","utf-8",'所选省(自治区)省会(首府)为:'.$city);
    }
      
    ?>
      

  2.   

    先谢谢楼上的.其实我是想知道为什么我的CODE不行,是缺了什么东西么?我是想学习学习.
      

  3.   

    本帖最后由 xuzuning 于 2011-04-20 15:06:06 编辑
      

  4.   

    MS成功了.只是在FIREFOX上面不行,我用IE运行的时候就可以了.我自己再修改一下让他能在FIREFOX上运行吧.谢谢各位的指教.