如何使用ajax错误处理添加php表单验证

时间:2017-02-23 06:31:38

标签: javascript php jquery ajax

如何使用ajax添加验证和php错误处理。现在成功消息正确但是如何在其上实现错误消息?我可能需要添加一些PHP验证,请帮忙。

这是我的JS。

 $('#edit_user_form').bind('click', function (event) {
  event.preventDefault();// using this page stop being refreshing 
   $.ajax({
    data: $(this).serialize(),
    type: $(this).attr('method'),
    url: $(this).attr('action'), 

    success: function () {
     $(".msg-ok").css("display", "block");
     $(".msg-ok-text").html("Profile Updated Successfully!!");
    },
     error: function() {
     //Error Message          
    }  
  });
}); 

PHP

<?php 
require_once 'db_connect.php';
if($_POST) {
    $fname = $_POST['fname'];
    $lname = $_POST['lname'];
    $index_no = $_POST['index_no'];
    $contact = $_POST['contact'];

    $id = $_POST['id'];

    $sql  = "UPDATE members SET fname = '$fname', lname = '$lname', index_no = '$index_no', contact = '$contact' WHERE id = {$id}";
    if($connect->query($sql) === TRUE) {
        echo "<p>Succcessfully Updated</p>";
    } else {
        echo "Erorr while updating record : ". $connect->error;
    }
    $connect->close();
}
?>

1 个答案:

答案 0 :(得分:1)

ajax根据状态代码识别错误,你的php代码将始终返回状态代码200,这是成功的,即使你在php代码中得到错误,除非它的500或404.所以ajax会将响应视为成功。

如果你想处理php错误,请在代码中进行以下更改

<?php 
require_once 'db_connect.php';
if($_POST) {
    $fname = $_POST['fname'];
    $lname = $_POST['lname'];
    $index_no = $_POST['index_no'];
    $contact = $_POST['contact'];

    $id = $_POST['id'];

    $sql  = "UPDATE members SET fname = '$fname', lname = '$lname', index_no = '$index_no', contact = '$contact' WHERE id = {$id}";
    if($connect->query($sql) === TRUE) {
        echo "true";
    } else {
        echo "false";
    }
    $connect->close();
}
?>


$('#edit_user_form').bind('click', function (event) {
  event.preventDefault();// using this page stop being refreshing 
   $.ajax({
    data: $(this).serialize(),
    type: $(this).attr('method'),
    url: $(this).attr('action'), 

    success: function (res) {
     if(res == 'true') {
          //success code
     } else if(res == 'false') {
          //error code
     }

    },
     error: function() {
     //Error Message          
    }  
  });
});