Existe-t-il un moyen d'obtenir PHP pour renvoyer un code d'erreur AJAX si le script PHP échoue quelque part? Je suivais un tutoriel et tapé ceci dans mon PHP:
$ return ['error'] = true; $ return ['msg'] = "Impossible de se connecter à la base de données";
Et tout allait bien, jusqu'à ce que je réalise que c'était des données JSON. Existe-t-il un moyen de renvoyer des erreurs en utilisant $ _POST standard et des données HTML renvoyées (comme dans, déclencher jQuery AJAX error:
un événement?
Je ne connais pas jQuery, mais s'il fait la distinction entre les requêtes Ajax réussies et infructueuses (HTTP 200 OK vs HTTP! = 200), vous voudrez peut-être que votre script PHP réponde avec un code HTTP différent de 200:
if ($everything_is_ok)
{
header('Content-Type: application/json');
print json_encode($result);
}
else
{
header('HTTP/1.1 500 Internal Server Booboo');
header('Content-Type: application/json; charset=UTF-8');
die(json_encode(array('message' => 'ERROR', 'code' => 1337)));
}
$return = array();
$return['msg'] = "Could not connect to DB";
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest')
{
header('Cache-Control: no-cache, must-revalidate');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Content-type: application/json');
die(json_encode($return));
}