该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
初学者,想做一个页面,点击按钮,向服务器端PHP文件发出指令,服务器端根据指令不同,查询数据库,将不同内容返回到页面,通过AJAX在页面下方刷新出来。
之前都很顺,但是到了刷新的时候,就出问题了。
首先,需要的内容确实刷新出来了,但只存在了一瞬间,一闪而过,然后页面又还原到点击之前的效果。。我试了很多方法,最后在刷新后加了句alert才把页面定住,看见了效果。。
具体形容:页面下方空白,点击,出现内容(存在极短一段时间,约0.1~0.2S),内容消失,恢复点击前的空白
上面是第一个问题
第二个问题,在发送xmlHttp.send()下面,我只有在加了一个alert拖延几秒之后,才能接收到服务器的响应,如果不加就会“跑飞了”,但如果这个alert放着不点,过了几秒接收到的响应就有错误或者收不到。
下面是我的部分页面代码
function require(str)
{var xmlHttp;
xmlHttp=null;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlHttp=new XMLHttpRequest();
}else
{// code for IE6, IE5
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");}
var url="read.php";
xmlHttp.onreadystatechange=function()
{if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{ document.getElementById("liebiao").innerHTML=xmlHttp.responseText;
return
} }
xmlHttp.open("POST",url,true);
xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded;charset=utf-8");
xmlHttp.setRequestHeader("If-Modified-Since","0");//xmlHttp1.setRequestHeader("Cache-Control","no-cache");
xmlHttp.send("&require=" + str);alert("正在加载,请稍候");//这一句似乎能用来占位,注释掉以后,程序像是跑飞了。。}
下面是部分PHP页面代码
$con = mysql_connect("localhost","root","cyx30");
if (!$con) { die('Could not connect: ' . mysql_error()); }
mysql_select_db("my_db", $con);
if($_POST["require"]=="全部留言")
{$result = mysql_query("SELECT * FROM liuyan");
echo "
留言者 | 留言时间 | 联系邮箱 | 留言状态 | 查看详情 |
---|
while($row = mysql_fetch_array($result))
{ echo "
"; echo "" . $row['Guest_Name'] . "";echo "
" . $row['shijian'] . "";echo "
" . $row['Guest_Email'] . "";if($row['zhuangtai']=='1')
{ echo "
已处理"; }elseif($row['zhuangtai']=='0')
{ echo "
未处理"; }else {echo "
" . $row['zhuangtai'] . ""; }echo "
";echo "
"; }echo "
";}mysql_close($con);
?>