Вы можете вернуть сообщение об ошибке в ответе вашего сервера (или используя JSON), как кто-то предложил.Но мне это не очень нравится, потому что это загрязняет возвращаемые данные.
Мне нравится другой способ, которым я пользовался в последнее время, который заключается в создании настраиваемого заголовка HTTP для информирования о наличии ошибки.
PHP-код:
if($there_was_error){
header("DB_SUCCESS: 0"); //Sends a custom header
}else{
header("DB_SUCCESS: 1");
}
jQuery-код:
$.ajax({
...
success: function(data, status, xhr){
//You can use your 'data' var as always
if(xhr.getResponseHeader("DB_SUCCESS") == 1){
alert("Save successful");
//Your regular sutff
}else{
alert("Save failed");
}
}
...
})
Как видите, мы создали собственный HTTP-заголовок, который называется DB_SUCCESS
и будет использоваться какметаданные, поэтому мы можем назначить их на стороне сервера (php) и прочитать их на стороне клиента (javascript), чтобы узнать, произошла ли ошибка.
Надеюсь, это поможет.Приветствия