To jest naprawdę podniecające mój umysł. Otrzymuję komunikat zwrotny błędu z ajax. Ale jeśli biorę res.responseText (który powraca poprawny, btw) od komunikatu o błędzie i używa go, robi to, co trzeba. Tak, jakbym otrzymał oddzwonienie o powodzeniu.wywołanie jquery ajax zwracające błąd z readystate 4, status 200, statustext ok
Dane są ustawione tak:
var dataToSend = {fieldname : textdata};
i ajax połączeń jest tak:
var ajaxOptions = {
url: '/newpage',
data: JSON.stringify(dataToSend),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
cache: false,
processData: false,
type: 'POST',
success: function(res) {
console.log("success!");
$('#' + divname).html(res);
},
error: function(res) {
console.log("There was an error: " + JSON.stringify(res));
$('#' + divname).html(res.responseText);
}
};
$.ajax(ajaxOptions);
Komunikat o błędzie jest: Wystąpił błąd: {"readyState":4,"responseText" [this part is perfectly fine], "status":200, "statusText":"OK"}
.
'dataType: 'json',' to oczekiwana odpowiedź ze źródła. czy możesz upewnić się, że źródło, które uderzasz, produkuje json jako wynik? jeśli nie, spróbuj po usunięciu go. – Jai
wygląda na to, że zwracasz tekst/html .... więc błąd jest prawdopodobnie błędem analizy json. Usuń 'dataType: 'json''. Pokaż, co jest faktycznie zwracane – charlietfl
@Jai - To było dobre! Zmieniłem typ na dane JSON w mojej bazie danych, ale nadal dostaję ten sam błąd. – lynvie