Dane normalnie się wysyłają, w konsoli firebuga widzę wszystko ładnie, tylko nie wiem jak się dostać do tych zwróconych danych z poziomu jquery gdzie callback error zwraca tylko coś takiego(wg. dokumentacji):
function (XMLHttpRequest, textStatus, errorThrown) {
// typically only one of textStatus or errorThrown
// will have info
this; // the options for this ajax request
}
Wrzuciłem sobie te dane do konsoli i w XHR nie dostrzegłem nigdzie odebranych danych, textStatus = error, a errorThrown jest nieustawione.
Jeżeli dostajesz obiekt XMLHttpRequest, to możesz to stamtąd wyciągnąć, ale ja bym nie zwracał tego jako 4xx, w końcu to nie jest błąd serwera, tylko błędne dane.
W razie czego, żeby wyciągnąć te dane musisz użyć: XMLHttpRequest.responseText
Dzięki. .responseText rzeczywiście zwróciło tego jsona, choć konsola w FireBugu pokazywała ‘’.
Co do kodu błędu, ciężko znaleźć bardziej pasujący status na liście. Błędy serwera to raczej 5xx.
[quote=Yax]Dzięki. .responseText rzeczywiście zwróciło tego jsona, choć konsola w FireBugu pokazywała ‘’.
Co do kodu błędu, ciężko znaleźć bardziej pasujący status na liście. Błędy serwera to raczej 5xx.[/quote]
Ja z reguły u siebie zwracam normalnie 200, a to co zrobić z odpowiedzią sprawdzam już na podstawie JSONa.
To chyba kwestia przyzwyczajeń bardziej. Dzięki statusowi z błędem uruchamiana jest od razu funkcja obsługująca błąd i nie trzeba warunków sprawdzać żadnych w podstawowej. No i w kontrolerze nie ma konieczności dodawania jakichś danych do JSONa.