我有一个问题。我在我的外部javascript(ajax)中有一个删除功能,我用来触发,以便我的PHP文件中的删除查询将被执行。
我想知道的是onreadystatechange函数中应包含的内容。之前有一个函数,它只显示表格。在onreadystatechange函数内部是
document.getElementById("divTable").innerHTML=xmlhttp.responseText;
所以现在我很困惑,我也把同样的东西或?如何删除记录后,如何执行查询以及显示新结果的表?
function.js Javascript文件:
function deleteThis(count){
var name = document.getElementById("row"+count).innerHTML;
var page = "database.php";
var parameters = 'name='+name+'&action=delete'
var xmlhttp = new XMLHttpRequest();
if(confirm('Are you sure you want to delete this?')==true){
if(xmlhttp==null){
alert("Your browser does not support ajax!");
return false;
}
xmlhttp.onreadystatechange=function(){
//what should be in here
};
xmlhttp.open("GET", page+"?"+parameters, true);
xmlhttp.send(null);
}
}
在database.php文件中:
.
.
Other lines of code
.
.
function deleteRow($name){
$table_info = "info";
$query_string = "delete from $table_info where id = '$name'";
$result = @mysql_query($query_string);
}
?>
<?php
$name = rtrim($_REQUEST['name']);
$action = rtrim($_REQUEST['action']);
if($action=="delete"){
echo deleteRow($name);
}
else{
echo update_database();
}
?>
答案 0 :(得分:1)
应该是服务器响应,有些测试ajax是成功还是错误
xmlhttp.onreadystatechange=function(){
//what should be in here
if (xmlhttp.readyState === 4 && xmlhttp.status === 200) {
console.log(xmlhttp.responseText) // response of your server
} else {
console.log("Error")
}
};
答案 1 :(得分:1)
来自MDN
返回每当readyState属性更改时调用的EventHandler。从用户界面线程调用回调。
因此,当readyState
发生变化时,您可以在此属性中查看请求的状态。
0尚未调用UNSENT open()。
已打开1个已打开的send()。
已调用2个HEADERS_RECEIVED send(),并且标题和状态可用。
3加载下载; responseText保存部分数据。
4 DONE操作完成。
答案 2 :(得分:0)
感谢您提供的信息和帮助。顺便说一下,我所指的是字面上的内容:
xmlhttp.onreadystatechange=function(){
document.getElementById("divTable").innerHTML=xmlhttp.responseText;
};