2013-10-14 15 views
9

Po pierwsze, w ogóle nie ma problemu między regionami.Dlaczego jQuery uważa żądanie Ajax o 200 odpowiedzi z pustą zawartością jako fail()?

Znalazłem, jeśli odpowiedź serwera jest pustą treścią, jQuery uważa to za niepowodzenie()?

Dlaczego tak jest?

+1

wygląda jak błąd analizy ... czy można dodać moduł obsługi błędów, taki jak "błąd: funkcja (jqXhr, status, błąd) { alert (status +": "+ błąd +": "+ jqXhr.responseText) } ' –

+0

wszelkie błędy konsoli przeglądarki? – karthikr

+0

Jakiego typu "dataType" używasz? – WynandB

Odpowiedz

14

Jeśli używasz jQuery> = 1,9 pusty odpowiedź JSON zostanie odrzucony, zgodnie z API documentation:

The JSON data is parsed in a strict manner; any malformed JSON is rejected and a parse error is thrown. As of jQuery 1.9, an empty response is also rejected; the server should return a response of null or {} instead.

12

WynandB jest poprawne, jednak nie jest alternatywną rozdzielczość: mieć zwrot serwera HTTP 204 No Content zamiast , co spowoduje, że jQuery zignoruje błąd parsowania.

Powiązane problemy