2012-05-29 9 views
6

estoy haciendo un poco de ping pong ajax y me preguntaba si es posible forzar a un objeto ajax diferido a caer en estado de falla desde PHP.

$.ajax({ 
    url: 'example.com/post', 
    dataType: 'json' 
}) 
.done(function(data) { 
    console.log(data); 
}) 
.fail(function(data) { 
    console.log(data); 
}); 

y en php

function post() { 
if (false) { 
    echo json_encode(array('all good')); 
} else { 
    ??? 
} 
} 

Respuesta

5

Puede devolver un error de cabecera:

header('HTTP/1.0 404 Not found'); 
exit; 

Esto hará que jQuery para ejecutar su gestor de errores y, a su vez falle el Ajax diferido. Básicamente códigos de estado como 4xx y 5xx` harán el truco.

+1

¿Alguna manera de devolver el mensaje de error también? : / –