Jquery AJAX从PHP返回

Edw*_*ard 2 php ajax jquery

使用此Jquery AJAX方法的新手.所以我正在使用Jquery进行AJAX调用,在我的PHP脚本中,我在从数据库中检查条件为真,然后传入我的数据字符串并绑定变量,然后执行该查询.脚本和数据库插入都正常工作.

我的问题是,如何从我的PHP脚本返回时在我的AJAX调用中显示错误消息?

JS


$.ajax({
type: "POST",
url: 'submit_form.php',
data: dataString,
error: function() { alert('Error'); },
success: function() { alert('Success'); }
});
Run Code Online (Sandbox Code Playgroud)

SUBMIT_FORM.PHP

if ( count of rows in db < x  )
 {

return false;
exit();

}
Run Code Online (Sandbox Code Playgroud)

如果这个条件为真,我想停止执行我的脚本并在我的AJAX函数中执行错误条件.


elseif ($stmt = $mysqli->prepare("INSERT INTO blah (stuff, morestuff) values (?, ?)")) {

 /* Bind our params */
  $stmt->bind_param("ss", $param1, $param1);

        /* Set our params */
$param1= $_POST["name"];
$param2= $_POST["email"];


/* Execute the prepared Statement */
$stmt->execute();
/* Close the statement */
$stmt->close(); 
}
Run Code Online (Sandbox Code Playgroud)

如果第一个条件为false,那么我想在我正在进行的ajax调用中返回success函数.

Ja͢*_*͢ck 7

要调用您的错误处理程序$.ajax,您可以在PHP中编写以下代码(对于FastCGI):

header('Status: 404 Not found');
exit;
Run Code Online (Sandbox Code Playgroud)

或者,header('HTTP/1.0 404 Not Found')如果您不使用FastCGI ,请使用.

我个人不会使用这种方法,因为它模糊了Web服务器错误和应用程序错误之间的界限.

你最好使用错误机制,如:

echo json_encode(array('error' => array(
    'message' => 'Error message',
    'code' => 123,
)));
exit;
Run Code Online (Sandbox Code Playgroud)

在成功处理程序中:

if (data.error) {
    alert(data.error.message);
}
Run Code Online (Sandbox Code Playgroud)