【发布时间】:2013-03-12 04:10:05
【问题描述】:
我正在尝试在单击按钮时发出请求。
如果是第一次点击它,我会创建一个 getJson 来获取一个数组,其中包含第二个请求的 ID。
问题是,当它发出第一个请求时,它在第二个请求之前就停止了,所以我必须再次单击才能发出第二个请求。
这是我的脚本代码:
<script type="text/javascript">
$(document).ready(function() {
var IDs = new Array();
var iterator = 0;
// When id with Action is clicked
$("#Action").click(function() {
if(IDs.length <= 0){
// Load generator.php as JSON and assign to the data variable
$.getJSON('generator.php', {tags : "lol"}, function(data) {
IDs = data.value;
});
}
//PAGE STOPS HERE
$.getJSON('imagem.php', {ids : IDs[iterator]}, function(data) {
iterator++;
document.title = "IMG2";
$("#Imagem").html(data.value);
if(iterator > IDs.length-1)
iterator = 0;
});
});
});
</script>
【问题讨论】:
-
第二个在页面加载时调用,需要点击后调用,可以放在function里面
-
第二个依赖于第一个,并且在单击按钮时都应该加载。感谢您的快速回复!
-
是的,你是对的,两者都包含在点击功能中:)
-
第二个
$.getJSON调用需要放在里面第一个回调。第二个将在 beforeIDs填充之前运行。请记住,AJAX 是异步的! -
如果你使用正确的缩进,这些东西会更容易看到。
标签: javascript jquery ajax getjson