0

想象一下这个场景:

  1. 我有一个链接可以启动一个 JavaScript 函数(其中有一个 Ajax 请求)。

  2. JavaScript 函数有一个由链接的 onclick='jsFunction(param)' 传递的参数。

  3. JavaScript 函数在将参数值设置为会话变量的控制器内的函数中发送参数值。

  4. 然后,控制器中的函数会将会话变量的新值发送回 JavaScript 函数的 Ajax 请求。

  5. 当数据到达 Ajax 请求时,将使用正在传递的数据调用另一个函数。

问题:

由于我正在谈论将会话变量的值传递给 Ajax 请求,我如何实时处理来自链接到第二个函数的数据?我想在这里发布代码,但是对于我只需要的信息来说太冗长了。

我的代码的当前状态是,我无法获取正确/最新的数据。相反,我得到以前的数据来自我点击的上一个链接。

是否有一个 Ajax 功能,如果第一个函数处理完最新数据,我只能继续执行下一个函数?

任何帮助都感激不尽。

4

1 回答 1

2

您可以使用任何 jQuery AJAX 方法的回调来延迟另一个函数的执行,直到请求完成之后。

   $.post('/some/url', somedata, function(returnData) {
        // put the code you want to execute on completion here
   });

或者如果你已经定义了返回数据后要调用的函数,你可以这样写:

   $.post('/some/url', somedata, processData);
于 2012-12-27T13:01:34.613 回答