Zadzwonię do funkcji getResult()
za każdym razem, gdy res.reply = 2
, ale są przypadki, że res
jest pusty. Gdy zwrócona wartość jest pusta, wywoływane jest console.log("error")
. Działa to w starszych wersjach jQuery Mobile. Teraz wersja jest 1.3.2.jQuery wywołanie ajax zwraca pusty błąd, jeśli zawartość jest pusta
function getResult()
{
request = $.ajax({
type: "POST",
url: url,
dataType: "json",
data: {
....
},
error: function() {
console.log("error");
},
success: function(res) {
if(res.reply=='2') {
getResult();
}
}
});
}
Oczekiwanie pomocy z jQuery 1.3.2 jest trochę ... * optymistyczne *. Dlaczego nie używasz aktualnej wersji? – lonesomeday
Uderzenie obsługi "błędu" niekoniecznie oznacza, że odpowiedź jest pusta - najczęściej oznacza to, że nie można odzyskać odpowiedzi z powodu błędu na serwerze. Sprawdź ruch sieciowy w Firebug i dziennikach serwera w poszukiwaniu błędu. –
Jakiego błędu otrzymujesz .. możesz sprawdzić za pomocą 'error: function (xhr, err) { console.log (xhr); console.log (err); } ' – Pranav