繁体   English   中英

如何在 php class 函数调用中使用 ajax 显示错误?

[英]how to display error using ajax in php class functions call?

好吧,这可能非常简单,但我整天都在为此烦恼,我无法让它工作。

我有一个页面,上面有一个添加用户的 function。 为此,我向 handler.php 发送了一个 AJAX 调用,它会进行一些验证并在有错误时发送错误,如果一切正常则发送成功消息。

在程序 PHP 中,我可以通过以下方法轻松解决此问题:

注意:(我的方法)这只是一个演示代码,用于展示 ajax 如何处理 ERROR:SUCCESS 消息

<p id="display_error"></p> // all success/error display here 

Ajax 成功

success: function(response) 
{
      if((response !== "") && ($.isNumeric(response))) {
        {
         //redirect in ajax success
         location.href = "http://localhost/manage/info.php?id="+ response;
        } 
      else {
             //this will display the custom error.
             $("#display_error").html("<p>" + response + "</p>"); //output: something went wrong!
           }
 }

PHP

if(num_rows > 0) {
    $conn = mysqli_connect();
    $query = "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('$fname', '$lname', '$email')";
    $result = mysqli_query($conn, $query) or die ('Error Could Not Query');

    $id = mysqli_insert_id($result);

    echo $id;

    mysqli_close($conn);
} else { 
    echo 'something went wrong!';
}

但是现在我切换到类...我不知道如何在 php 函数中使用 ajax 显示错误或成功消息。 问题出在 function 调用中。 它是 PHP 显示错误或成功消息的基础,其中实际的 function 被调用。 在下面的代码中,从 ajax 无法访问的索引页面调用 function 以获取成功或错误消息。 php ajax 错误处理中是否有更好的方法? 我是新来的……喜欢看……

handler.php

function addUser($firstname, $lastname, $email)
{
    global $db;

   // prepare and bind
   $stmt = $db->prepare("INSERT INTO MyGuests (firstname, lastname, email) VALUES (?, ?, ?)");
   $stmt->bind_param("sss", $firstname, $lastname, $email);


   if($stmt->execute())
   {
      echo "New records created successfully";
   }else
   {
     echo "something went wrong!";
   }

   $stmt->close();


}

addUser('Navjot','singh','ns00@domain.com'); //calling from index.php page 

对 ajax 调用结果使用 json_encode。 例如, echo json_encode(array('status' => 1, 'your value' => '')); 或 echo json_encode(array('status' => 0, 'error_msg' => ''));

在你的前端,如果你使用 PHP 那么你可以使用 json_decode(),如果你使用 javascript 那么你可以使用 JSON.parse()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM