2012-03-02 8 views
5

utilizo este código para obtener información de Twitter a través de su API:Compruebe si hay 404 estados de error en jQuery

 $.ajax({ 
      url : apiUrl, 
      cache : false, 
      crossDomain: true, 
      dataType: "jsonp", 
      success : function(html) { 
       // ... 
      }, 
      error: function(jqXHR, textStatus, errorThrown) { 
       console.log(jqXHR); 
      } 
     }); 

Sin embargo, si el apiUrl variable proporciona una URL correcta, este código trabajo fino, E. I. el objeto de éxito se ejecuta, pero si la URL no es correcta, e.i. El error 404 se devuelve desde twitter, el objeto de error nunca se ejecuta. No registra nada en la consola. ¿Cómo debo verificar el estado de error 404 en este caso?

+0

Esto podría resolver el problema: http://stackoverflow.com/questions/4281274/jquery-ajax-404-handling – Smamatti

+1

dar un ejemplo de una URL incorrecta – JamesHalsall

+0

http: // stackoverflow. com/a/4803044/137972 podría ser relevante. – Christoffer

Respuesta

3

De jQuery docs API ajax:

error option

Nota: Este controlador no es llamado para la escritura de varios dominios y JSONP solicitudes.

http://api.jquery.com/jQuery.ajax/

+0

Lo siento, es mi culpa no leer esto ... Gracias –

2

Según los documentos, use statusCode configuración en .ajax.

$.ajax({ 
    ... 
    statusCode: { 
    404: function(){ 
    } 
    } 
}); 
+0

nop, esto no se ejecuta también. Me temo que la primera respuesta a este tema es correcta ... http://forum.jquery.com/topic/jquery-ajax-with-datatype-jsonp-will-not-use-error-callback-if-request -fails –

Cuestiones relacionadas