$("#submit").click(function(){
$.ajax({
type: "POST",
url: "session.php",
data: "name=John123&location=Boston",
success: function(a, msg2){
$('#feedback').removeClass().addClass('success').text(a +' '+msg2).fadeIn('slow');
},
error: function(a, b, c){
$('#feedback').removeClass().addClass('error').text('This is' +b).fadeIn('slow');
},
我正在尝试在 PHP 中使用以下代码调用错误函数:
if ($_POST['name'] != "John") {
$message['error'] = true;
$message['message'] = "Hmm, please enter a subject in the subject field.";
echo json_encode($message);
}
else
{
echo $_POST['name'];
}
但我总是调用成功函数。有什么方法可以调用错误函数。
您需要
将HTTP状态代码设置为500
(或任何其他>= 400
)以指示存在错误。
你为什么不做这样的事情:
$("#submit").click(function(){
$.ajax({
type: "POST",
url: "session.php",
data: "name=John&location=Boston",
success: function(a, msg2){
if(a.error) {
$('#feedback').removeClass().addClass('error').text('This is' +a.message).fadeIn('slow');
}
else {
$('#feedback').removeClass().addClass('success').text(a.name +' '+msg2).fadeIn('slow');
}
}
});
});
和:
if ($_POST['name'] != "John") {
$message['error'] = true;
$message['message'] = "Hmm, please enter a subject in the subject field.";
}
else
{
$message['error'] = false;
$message['name'] = $_POST['name'];
}
echo json_encode($message);
error 函数仅在 ajax 失败时调用,因此您可以检查 ajax 是否返回错误是否存在。