Javascript 使用AJAX在网页上显示服务器的响应?
我正在使用HTML、PHP和JavaScript开发一个web应用程序。我找到了一种使用AJAX从客户端(HTML和JS)调用运行数据库操作的PHP方法的方法,下面是一个示例:Javascript 使用AJAX在网页上显示服务器的响应?,javascript,php,ajax,Javascript,Php,Ajax,我正在使用HTML、PHP和JavaScript开发一个web应用程序。我找到了一种使用AJAX从客户端(HTML和JS)调用运行数据库操作的PHP方法的方法,下面是一个示例: if (confirm('Sure you want to do that?')) { $.ajax({ url: "myScripts.php", type: "POST", data: { paramForOperation: m
if (confirm('Sure you want to do that?')) {
$.ajax({
url: "myScripts.php",
type: "POST",
data: {
paramForOperation: myParam,
option: "doAction1"
},
cache: false,
success: function(response) {
//Here I reload or load another page after server is done
window.open("myPage.php", "_self");
}
});
}
因此,这里我使用脚本调用php文件,该脚本对数据库执行插入/删除/任何操作。它工作得很好,但是如果因为索引已经存在或任何其他原因而无法插入,该怎么办?如果某些类型的数据错误,而我无法插入该数据,该怎么办?我知道我可以使用PHP在服务器端验证这一点,但是我如何返回一条消息说“操作完成”或“您应该在X字段上使用数字”
我想到了类似于alert(response)的东西代码>但它将返回什么?一个echo($msg)代码>来自我的PHP函数?在AJAX中,有没有一种方法可以发送关于响应的结果消息
感谢您的帮助。PHP脚本的任何输出都将收到响应。记住,PHP脚本在服务器上运行,只生成输出。PHP代码本身永远不会到达客户端
因此,您只需回显一条消息,并发出警报作为响应
将其提升一个级别,您可以返回或解析XML,其中可能包含错误消息和一些错误代码,因此您的脚本也可以对此作出响应,并可能更改其行为(例如,如果插入成功,请将新数据添加到页面)
当然,不是从PHP返回代码200(意思是OK),而是可以考虑,所以代码已经指示出是否出错了。根据状态代码,jQuery将执行成功或错误处理程序,因此很容易针对不同的情况生成不同的处理程序 让服务器以适当的HTTP状态代码和有意义的错误消息进行响应。使用ajax调用的error函数
$.ajax({
url: "myScripts.php",
type: "POST",
data: {},
success: function(response) {
/* no error occured, do stuff... */
}
error: function(jqXHR, textStatus, errorThrown) {
/* handle the error, add custom error messages to any DOM objects, ... */
console.log(textStatus, errorThrown);
}
一些文档:和您应该阅读HTTP响应代码(200 OK,204 No Content,400 Error,404 Not Found)。在响应中,您可以获得API返回的http代码。如果在4XX系列中,则为错误。您需要定义fail:function(err){}
回调