2012-12-27 88 views
0

想象一下这样的情景:Ajax和会话变量

  1. 我有火灾了一个JavaScript函数(中有一个Ajax请求)的链接。

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

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

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

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

问:

因为我说的会话变量的值传递给一个Ajax请求,将数据从链接我怎么可以处理来进行实时的第二个功能?我想在这里发布代码,但对于我只需要的信息来说太冗长了。

我的代码的当前状态是,我无法获取正确/最新的数据。相反,我从之前点击的链接中获得以前的数据。

如果第一个函数完成处理最新数据,是否有Ajax功能,我只能进入下一个功能?

任何帮助将不胜感激。

回答

2

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

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

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

$.post('/some/url', somedata, processData); 
+0

我想补充的唯一的事情,是要确保你提供参数为你的回调函数。函数(iAmReturnData){} – TheBrent

+0

感谢它的工作 –