我已经按照我在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);
});
...但是控制台日志中没有显示任何内容,因此看起来这个函数永远不会被调用。 我错过了一些明显的东西吗?
由于 史蒂夫
答案 0 :(得分:-1)
编辑: 在@Jason P评论之后,我认为这是错误的解决方案 但是我会保留它,因为它显示了如何自动调用函数 ---编辑结束
它没有被触发,因为从未调用过ListScores()
你应该包装ListScores()并立即调用它。
function ListScores(){
}
调用它
您应该添加以下内容
(function ListScores(){
})();
知道了吗?