jquery ajax没有按照正确的顺序工作

时间:2017-01-16 11:27:50

标签: javascript jquery ajax

我正在尝试使用PHP加载ajax个文件加载一些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在脚本的开头。

3 个答案:

答案 0 :(得分:1)

尝试使用php进行ajax调用此鳕鱼

 $.ajax({
  type: "method", // post or get
  url: "file url",
  dataType: "json",
  success: function(data){
 
  },
  error: function(){

  }
});

答案 1 :(得分:0)

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



ajax({
...
success: function(){
...
secondAlert();
};
...
});

function secondAlert(){
alert("alert after jax call");
};




答案 2 :(得分:0)

至于

  

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

AJAX是 异步 JavaScript和XML 的首字母缩写。这里的关键字是异步的。 AJAX发送HTTP请求并以异步方式继续执行代码。 AJXT请求的回调函数在> 请求完成并且已收到相应的响应后执行。有关详细信息here