Sposterei tutta la tua logica di errore da jQuery a PHP. Puoi rispondere con un semplice oggetto JSON che può contenere lo status
(successo o errore), code
(se necessario), message
e persino data
, se vuoi fornire risultati specifici.
Ad esempio, fai una richiesta come questa:
$.ajax({
type: 'POST',
url: url,
data: $("#frmSurvey").serialize(),
success: function(result){
var json = $.parseJSON(result);
if(json.response.status == 'success') {
// do something
} else {
// look at message or code to perform specific actions
}
}
});
Quindi nel file PHP che elabora questa richiesta, costruisci un array con tutti gli elementi sopra menzionati di cui hai bisogno (stato, codice, messaggio, ecc.). Alla fine, echo
qualcosa del genere:
$result = array(
'response' => array(
'status' => 'error',
'code' => '1', // whatever you want
'message' => 'Could not connect to the database.'
)
);
echo json_encode($result);
Il $result
array conterrà i dati rilevanti in base ai controlli effettuati in PHP.
Spero che questo aiuti!