【发布时间】:2011-06-07 16:53:43
【问题描述】:
我正在寻找一种拥有 .getJSON 的方法,调用另一个函数,该函数作为回报进行另一个 .getJSON 调用。
我在我的控制器上迭代调用一个 JSON 方法,如果满足某个条件,我想完成这个迭代循环。如果满足这个条件(只能从 JSON 方法中检查),我想在 Controller 上调用另一个 JSON 方法(保存一些数据等)。
但是,从未进行过第二次 JSON 调用。当我在第一个函数之外手动调用第二个函数时,调用正确。
对此有任何提示,还是我的设计完全有缺陷?
编辑
Chyeaah.. 忘记密码了.. :D
<script type="text/javascript">
$(window).load(function() {
var poller = setInterval(tick, 1000);
});
function tick() {
$.getJSON("votingtick", function(voting) {
if (voting != null) {
if (voting.timeleft < 0) {
clearInterval(poller);
finalize();
} else {
$("#timeout").text(voting.timeleft);
$("#voters").text(voting.votingCount);
}
}
});
}
function finalize() {
$.getJSON("votingend", function(voting) {
if (voting != null) {
$("#finished").fadeIn('fast');
}
});
}
</script>
认为这是最相关的,不是吗?
【问题讨论】:
-
你的代码是什么? (它看起来像什么?你能做一个jsfiddle.net 的例子吗?)
-
无法制作 jsfiddle 示例 - 服务器只能在本地访问。这不是一个生产环境。但是,我更新了我的问题。提前致谢
-
您是否尝试输出
voting以查看其中是否包含任何内容? -
没有明确说明.. 但我自己调用了 finalize() 函数并且它起作用了。
-
我在
tick()fn 中谈论voting