2013-10-16 12 views
24

per un'azione Ajax non corretta, ho impostato con il codice di intestazione HTTP per 403 e inviare la seguente risposta:Ottieni risposta al server con errore AJAX?

{"code":"403","status":"Forbidden","message":"You cannot do this"} 

Tuttavia, non posso accedere a questi dati quando si maneggiano il mio errore ... E 'possibile acess dati "messaggio" da jqXHR?

qualcosa come jqXHR.message?

Molte grazie per il vostro aiuto ...

EDIT:

error: function (xhr) { 
      $(".alert").html(xhr.responseText); 
      }, 

Ciò restituisce:

{"code":"403","status":"Forbidden","message":"You cannot do this"} 

Ma xhr.responseText.message non restituisce nulla ...

MODIFICA: questo codice funziona:

error: function (xhr) { 
    var jsonResponse = JSON.parse(xhr.responseText); 
    $(".alert").html(jsonResponse.message); 
    }, 
+1

http://stackoverflow.com/q/1637019/ 139010 tuttavia notano i commenti sull'uso di 'JSON.parse()' invece di 'eval'. –

+0

cosa hai codificato? – Satya

+0

Dovrebbe essere jsonResponse ["messaggio"], no? – jn29098

risposta

46

Si dovrebbe essere sempre in 'errore' jQuery richiamata ... http://api.jquery.com/jQuery.ajax/

error: function(xhr, status, error) { 
    alert(xhr.responseText); 
} 

(btw .. ur codice?)

+9

Ottengo "indefinito" come messaggio di avviso –

Problemi correlati