Ajax Php-Mysql在插入数据时检索确认

Ajax Php Mysql retrieve confirmation when data inserted

本文关键字:检索 确认 数据 插入 Php-Mysql Ajax      更新时间:2023-09-26

我有以下ajax调用,用于通过服务器上托管的php文件将表单发送到mysql数据库:

 <script type"text/javascript">
$(document).ready(function(){
    $("form#submit").submit(function() {
    // we want to store the values from the form input box, then send via ajax below
    var fname     = $('#fname').attr('value');
    var lname     = $('#lname').attr('value'); 
        $.ajax({
            type: "POST",
            url: "jquery-ajax-control.php",
            data: "fname="+ fname + "&lname=" + lname,
            success: function(){
                $('form#submit').hide();
                //$('form#submit :input').val("");
                $('div.success').fadeIn();
            }
        });
    return false;
    });
});
</script>

还有我的php:

<?php
    include ("db.php");
    // CLIENT INFORMATION
    $fname        = htmlspecialchars(trim($_POST['fname']));
    $lname        = htmlspecialchars(trim($_POST['lname']));
    $addClient  = "INSERT INTO clients (fname,lname) VALUES ('$fname','$lname')";
    mysql_query($addClient) or die(mysql_error());
?>

关于成功函数,我想从php或mysql中检索一条警报消息,以确保数据插入数据库中,因为ajax即使连接断开,它也会成功,并且我在另一台服务器上托管了php文件。我怎么能那样做?非常感谢。

让jquery-ajax-control.php脚本返回此信息(可能编码在JSON字符串中),然后在success函数中解析它。

下面是一个示例,它将在警报中显示PHP脚本的输出(如果请求成功):

     $.ajax({
        type: "POST",
        url: "jquery-ajax-control.php",
        data: "fname="+ fname + "&lname=" + lname,
        success: function(message) {
            alert(message);
        }
    });

您只需要更改PHP脚本,就可以根据发生的情况返回消息。

您还可以修改PHP脚本以返回正确的HTTP状态代码(例如,如果出现错误,则返回500),并使用jQuery允许的ajax方法的各种回调函数进行检查。

首先,如果不使用jsonp进行调用,从另一台服务器调用php会出错。

在下一部分中,如果您的php文件由于连接中断而出现任何错误,您可以通过php的响应发送错误,并通过jquery ajax回调函数success获得错误。

您还可以在回调函数中获取消息,并通过javascript警报消息显示。