Я следил за всеми советами, которые я нашел здесь, в Wait until all jQuery Ajax requests are done?, но мне, должно быть, не хватает чего-то основного.
У меня есть эта функция ...
function ListScores(leaguex, nameid) {
return $.ajax({
url: 'sg_ajaxListData.php',
data: {
nme: nameid,
league: leaguex
},
dataType: 'json',
success: function (rows) {
for (var i in rows) {
var row = rows[i];
var score1 = row["score1"];
var score2 = row["score2"];
var round = row["round"];
$('#output').append("<br />Round " + round + " - " + score1);
if (leaguex == 'r') {
$('#output').append(" " + score2);
}
}
}
});
}
Она вызывается из document.ready функции моего кода и прекрасно работает, возвращая данные и отображать его, как и ожидалось. Я хочу другую функцию для запуска ПОСЛЕ ListScores() отобразил свои данные так, в другом месте в document.ready функции я ставлю ...
$.when(ListScores()).done(function(a1){
console.log("hello",leaguex,nameid, a1);
});
... но ничего не показывает в журнале консоли так оно похоже, эта функция никогда не вызывается. Я пропустил что-то очевидное здесь?
Благодаря Steve
Передача 'ListScores()' вы пытаетесь вызвать функцию – hjpotter92
Вам действительно не нужно '.when' там, вы могли бы просто сделать ListScores(). Done (function() {... }) ', но он должен работать так, как есть .. проверьте свою консоль, и вы можете попробовать добавить обратные вызовы' .fail() 'и' .always() ', чтобы узнать, есть ли какой-либо из этих триггеров. –
@ hjpotter92 Но 'ListScores()' возвращает обещание, поэтому он должен работать. –