2013-05-15 13 views
10

Non sono sicuro perché questo sta accadendo, ma ho un semplice codice Ajax: eseguito il codice di statoAjax non riesce, ma il codice di stato 200 è ancora "OK"

$.ajax({ url: "/javascript/testing.js"}) 
    .done(function(data){ console.log(data) }) 
    .fail(function(jqXHR, textStatus, errorThrown) { 
     console.log(jqXHR); 
    }); 

.fail() di get è "OK". Anche i dati sono presenti in responceText per i dati legit reali. Perché sta succedendo?

enter image description here

+0

ciò che è 'responsceText'? – karthikr

+0

@karthikr dati legit, 'javascript' nel mio caso. L'errore è 'parseerror' – Kivylius

+0

@Jessica Puoi esaminare la richiesta nel browser per vedere se ci sono ulteriori informazioni? –

risposta

12

Se si vuole analizzare il file javascript, quindi il tipo di dati dovrebbe essere script:

$.ajax({ url: "/javascript/testing.js", dataType: "script" }) 
.done(function(data){ console.log(data) }) 
.fail(function(jqXHR, textStatus, errorThrown) { 
    console.log(jqXHR); 
}); 

Se si sta ancora ricevendo un parserError poi c'è un problema con il file testing.js.

Se non si desidera analizzare e solo recuperarlo, quindi il tipo di dati dovrebbe essere text:

$.ajax({ url: "/javascript/testing.js", dataType: "text" }) 
+0

testing.js è solo un normale file javascript. Sostituisco il contenuto semplicemente con 'test' e non funziona ancora. – Kivylius

+0

just 'test' non è valido javascript. Se vuoi recuperarlo senza analizzarlo come javascript, imposta dataType su 'text'. Ho aggiornato la mia risposta per riflettere questo. – nullability

+1

dataType: "text" funziona, bene, grazie +1; – Kivylius

Problemi correlati