Javascript 使用AJAX在网页上显示服务器的响应?

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

我正在使用HTML、PHP和JavaScript开发一个web应用程序。我找到了一种使用AJAX从客户端(HTML和JS)调用运行数据库操作的PHP方法的方法,下面是一个示例:

    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){}
回调