jqueryajax:想对代码过程进行排序吗

jqueryajax:想对代码过程进行排序吗,ajax,jquery,Ajax,Jquery,我通过ajax从php文件中获取数据。根据数据我需要做一些处理。我在代码中加入了一些警告,从中我意识到ajax之外的代码是在ajax获得数据之前执行的。我希望代码在从php文件接收数据后完成 代码: 警报的顺序是: 第一:“原始数据2” 第二:“原始数据1” 一个选项是,我在success函数中包含处理代码,但我不能这样做,因为稍后我想放置一个逻辑,这样我就可以有一个数据的缓冲区(至少4-5个堆栈深度),因为我希望用户在处理当前数据的代码后立即获得新的数据,而不是等待通过php检索数据。ajax

我通过ajax从php文件中获取数据。根据数据我需要做一些处理。我在代码中加入了一些警告,从中我意识到ajax之外的代码是在ajax获得数据之前执行的。我希望代码在从php文件接收数据后完成

代码:

警报的顺序是:

第一:“原始数据2”

第二:“原始数据1”


一个选项是,我在
success
函数中包含
处理代码
,但我不能这样做,因为稍后我想放置一个逻辑,这样我就可以有一个
数据的缓冲区(至少4-5个堆栈深度),因为我希望用户在处理当前
数据的代码后立即获得新的
数据
,而不是等待通过php检索
数据。

ajax调用不会停止下一行执行,因此您必须执行以下操作:

$(function () {
var originalData=""; 
$.ajax({                                      
  url: 'data.php',                    
  data: "",                        
  dataType: 'text',               
  success: function(data)          
  {
    originalData=data;
    alert("originalData 1 "+ originalData);  
    myFunction();
  }
});

function myfunction()
{
alert("originalData 2 "+ originalData);  
...
  Processing code
...
}

}))

Ajax使用异步处理模型,一旦向服务器发送请求,客户端将执行下一条语句,而不等待响应返回。一旦服务器响应,将根据响应的状态调用success或failure回调

您需要使用来自ajax调用的数据将所有处理放在成功回调中

例:


Ajax使用异步处理模型,一旦向服务器发送请求,客户端将执行下一个语句,而不等待响应返回。您需要使用来自ajax调用的数据将所有处理放在成功回调中。。。。我无法将代码放入成功回调函数中。我希望在不使用回调函数中的代码的情况下也能这样做。您可以使用ajax提供的
async:false
选项,但建议使用此选项,因为它将阻止浏览器线程,直到服务器返回响应(即:用户界面将不会被重新绘制,用户界面将在不允许任何用户交互的情况下冻结)完美。这正是我想要的。我想知道我在谷歌搜索时怎么会错过它。但我不建议任何人使用它
$(function () {
var originalData=""; 
$.ajax({                                      
  url: 'data.php',                    
  data: "",                        
  dataType: 'text',               
  success: function(data)          
  {
    originalData=data;
    alert("originalData 1 "+ originalData);  
    myFunction();
  }
});

function myfunction()
{
alert("originalData 2 "+ originalData);  
...
  Processing code
...
}
$.ajax({
    ....
}).done(function(data) {
    //To all you post processing here
}).fail(function(){
    //Do your error handling here
});