Přesunul bych veškerou vaši chybovou logiku z jQuery do PHP. Můžete odpovědět jednoduchým objektem JSON, který může obsahovat status
(úspěch nebo chyba), code
(v případě potřeby), message
a dokonce data
, pokud chcete poskytnout konkrétní výsledky.
Zadáte například požadavek takto:
$.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
}
}
});
Poté v souboru PHP, který zpracovává tento požadavek, vytvoříte pole se všemi výše uvedenými prvky, které potřebujete (stav, kód, zpráva atd.). Nakonec budete echo
něco takového:
$result = array(
'response' => array(
'status' => 'error',
'code' => '1', // whatever you want
'message' => 'Could not connect to the database.'
)
);
echo json_encode($result);
$result
pole bude obsahovat relevantní data na základě kontrol provedených v PHP.
Doufám, že to pomůže!