【发布时间】:2017-01-16 19:42:14
【问题描述】:
我正在尝试使用ajax 从PHP 文件加载一些JSON 对象,但我的问题是我的javascript 代码没有按正确的顺序工作。这是我的代码:
var requests;
$(document).ready(function(){
setInterval(function(){
$.ajax({
url: "test2.php",
success: function(result){
requests = JSON.parse(result);
alert(requests);
}
});
})
});
alert(requests);
Here is the first alert 我正在加载页面,here is the second alert
我的问题是为什么最后一行的警报在ajax之前执行
注意:这是我项目的一个小例子,我真正的错误是我无法使用 ajax 加载一些我需要的数组,因为它在控制台上显示为未定义,即使 ajax 在脚本的开头也是如此。
【问题讨论】:
-
因为第一个需要时间加载
-
因为它是异步 - 即启动ajax请求,然后在请求完成之前进行。更重要的是,您的第二个警报在
$(document).ready()触发之前运行,这是一个稍后发生的事件,当文档准备好时。 -
最好在
$.ajax中使用complete处理程序
标签: javascript jquery ajax