2012-06-27 104 views
0

我有两个ajax调用。两者都是同步的。两者都从一个控制器调用方法。但第二种方法首先被击中。为什么是这个以及如何改变它?Ajax同步或异步

+0

呼叫第一种方法,*等待*作响应,调用第二个方法? – MatBailie

+1

部分代码请 – Timeless

+0

完全阐述它意味着你如何发送请求请告诉我们的故事。 –

回答

1

正如名字说阿贾克斯 - 异步JavaScript

Ajax是异步


编辑

对于你的问题,你可以像调用第一个响应第二URL,一个简单的jQuery例子是,

/*First request*/ 
$.post("{SOME_URL}", { PARAMS }, 
    function(data) { 
     /*Do anything with data*/ 
     /*Your second request*/ 
     $.post("{SOME_URL}", { PARAMS }, 
      function(data) { 
       /*Do anything with data*/ 
      } 
     ); 
    } 
); 

此外,jQuery支持async标志可以设置为false来激活查询的异步性质。但是这会阻止来自同一页面的所有其他请求。

请阅读更多关于这个here

+2

,但我们也可以通过ajax发送同步呼叫 –

+0

这只能通过阻止其他请求在浏览器端完成。在核心Ajax异步的地方。你必须为它管理服务器代码。 –

+1

不仅阻止请求。 'async'阻止**所有**脚本的执行,即使在不同的标签中,即它会阻止整个浏览器。 **不要使用它 - 这是一个撒旦!**:D – freakish