[英]how to display error using ajax in php class functions call?
好吧,這可能非常簡單,但我整天都在為此煩惱,我無法讓它工作。
我有一個頁面,上面有一個添加用戶的 function。 為此,我向 handler.php 發送了一個 AJAX 調用,它會進行一些驗證並在有錯誤時發送錯誤,如果一切正常則發送成功消息。
在程序 PHP 中,我可以通過以下方法輕松解決此問題:
<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.