首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

php中结合Ajax的有关问题

2012-05-22 
php中结合Ajax的问题删除页:del.phpHTML codehtml headtitleInformation/titlescript typetext

php中结合Ajax的问题
删除页:del.php

HTML code
<html> <head>  <title>Information</title>  <script type="text/javascript">    var xmlHttp ;    function createXMLHttpRequest(){        if(window.ActiveXObject){            xmlHttp=new ActiveXObject("Microsoft.XMLHTTP") ;        }else if(window.XMLHttpRequest){            xmlHttp=new XMLHttpRequest() ;        }    }    function show(){        createXMLHttpRequest() ;        var url="delsend.php" ;        xmlHttp.onreadystatechange=callback ;        xmlHttp.open("GET" , url , true) ;        xmlHttp.send(null) ;    }    function callback(){        if(xmlHttp.readyState==4){            if(xmlHttp.status==200){                chk() ;            }        }    }    function chk(){        var xmlDoc=xmlHttp.responseXML ;        var yan=xmlDoc.getElementsByTagName("content") ;        var ta="<table border='1' align='center'><th>用户编号</th><th>用户</th><th>聊天内容</th><th>聊天时间</th><th>操作</th>" ;        for(var i=0 ; i<yan.length ; i++){            var y=yan[i] ;            ta+="<tr><td>"+y.childNodes[0].firstChild.data+"</td>" ;            ta+="<td>"+y.childNodes[1].firstChild.data+"</td>" ;            ta+="<td>"+y.childNodes[2].firstChild.data+"</td>" ;            ta+="<td>"+y.childNodes[3].firstChild.data+"</td>" ;            ta+="<td><span id="+y.childNodes[4].firstChild.data+" onclick='start(this)'>删除</span></td></tr>" ;        }        ta +="</table>" ;        document.getElementById("del").innerHTML=ta ;        //alert(yan.length) ;    }    function start(ele){        var id=ele.id ;        createXMLHttpRequest() ;        var urldel="startsend.php?key="+escape(id) ;        xmlHttp.onreadystatechange=back ;        xmlHttp.open("GET" , urldel , true) ;        xmlHttp.send(null) ;    }    function back(){        if(xmlHttp.readyState==4){                if(xmlHttp.status==200){                    var str=xmlHttp.responseText ;                    if(str=="1"){                    alert("该项已被删除,1秒之后显示新的信息") ;                    setTimeout("show()" , 1000) ;                    }                }        }    }  </script> </head> <body onLoad="show()"> <?php    error_reporting(E_ALL & ~E_NOTICE); ?>  <div align="center">    <h2>删除信息</h2>    <div id="del"></div>  </div> </body></html>

[/code]delsend.php
PHP code
<?phpheader("Content-Type:text/xml") ;header("cache-control:no-cache , must-revalidate") ;error_reporting(E_ALL & ~E_NOTICE);$xml="<?xml version='1.0' encoding='gb2312'?>" ;$xml=$xml."<contents>" ;include_once("conn.php") ;$result=mysql_query("select * from chatcontent") ;while($rs=mysql_fetch_object($result)){    $content.="<content><userid>".$rs->user_id."</userid><name>".$rs->name."</name><content1>".$rs->content."</content1><date>".$rs->showdate."</date><time>".$rs->id."</time></content>" ;}$xml=$xml.$content."</contents>" ;echo $xml ;mysql_close() ;?>

[/code]startsend.php
PHP code
<?php    error_reporting(E_ALL & ~E_NOTICE);    $id=$_GET["key"] ;    include_once("conn.php") ;    $result=mysql_query("delete from chatcontent where id='$id'") ;    if($result){        echo "1" ;        //echo "<script type='text/javascript'>window.location='del.php' ;</script>" ;    }    mysql_close() ;?> 

问题:
在del.php页面,什么也显示不出来。

[解决办法]
下午认真的测试了你的代码,的确没有发现问题
当然数据库相关的部分是变化了的

如果依然存在问题,应该就是数据库相关了
为检查可能出现的问题,你可以在
var xmlDoc=xmlHttp.responseXML ;
之前加一句
alert(xmlHttp.responseText);
或之后加一句
alert(xmlDoc.xml);
用以检查返回的数据是否正常

[解决办法]
嗯 如果代码没问题,看看返回的数值是否是预期的那样。
把文件编码都保存成UTF-8看看,貌似我记忆里也碰过这样的事,就是返回的结果其实不是自己想的那样.或者肉眼看起来是个1 实际上 ... 具体情节已经多数忘记了.

热点排行