【发布时间】:2009-03-21 20:08:26
【问题描述】:
两个函数需要在 Javascript 中执行,一个应该在另一个完成后启动。
第一个使用getJSON 填充一个数组,然后第二个将对其进行操作。
但是,getJSON 是异步的,它不会暂停执行顺序以使程序正常工作,以便数组在第二个函数执行之前完成加载。
一旦通过getJSON 完成数据加载,如何使用Jquery 的ajaxComplete() 或getJSON 回调来运行第二个函数。
谢谢。
代码如下:
function fetch_ids(user) {
var url = 'http://test.com/ids/' + escape(user) + '.json?callback=?';
// populate array ids[] with JSON data --uid[] array declared globally
$.getJSON(url, function(data) {
for (var i = 0; i < data.length; i++) ids[i] = data[i];
});
// test array and run alert
for (i = 0; i < uid.length; i++) {
for (j = 0; j < ids.length; j++) {
if (uid[i] == ids[j]) {
alert('matched: ' + uid[i]);
}
}
}
// finish test
}
【问题讨论】:
标签: javascript jquery json ajax