Javascript jqueryajax是';我不能按正确的顺序工作

Javascript jqueryajax是';我不能按正确的顺序工作,javascript,jquery,ajax,Javascript,Jquery,Ajax,我试图使用ajax从PHP文件加载一些JSON对象,但我的问题是javascript代码的顺序不正确。这是我的密码: var requests; $(document).ready(function(){ setInterval(function(){ $.ajax({ url: "test2.php", success: function(result){ requests = JSON.parse(result);

我试图使用
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);
我正在加载页面并

我的问题是,为什么最后一行中的警报会在ajax之前执行


注意:这是我项目的一个小例子,我真正的错误是我无法使用ajax加载我需要的一些数组,因为它在控制台上显示为未定义,即使ajax在脚本的开头

避免这种情况的最佳方法是创建一个函数,在其中放置第二个警报。并在ajax调用的成功方法中调用此函数。 e、 g

ajax({
...
成功:函数(){
...
secondAlert();
};
...
});
函数secondAlert(){
警报(“jax调用后警报”);

};使用php尝试此cod for ajax调用

$.ajax({
类型:“方法”//post或get
url:“文件url”,
数据类型:“json”,
成功:功能(数据){
},
错误:函数(){
}
});关于

我的问题是,为什么最后一行中的警报会在ajax之前执行


AJAX是异步JavaScript和XML的缩写。这里的关键字是异步的。AJAX发送HTTP请求并以异步方式继续执行代码。AJAX请求的回调函数在请求完成并收到相应响应后执行。更多信息可用

因为第一个需要时间加载可能的副本,因为它是异步的-ie启动ajax请求,然后在请求完成之前继续。更重要的是,您的第二个警报在
$(document).ready()
触发之前运行,这是稍后在文档准备就绪时发生的事件。您最好尝试使用
$中的
complete
处理程序。ajax