想象一下这种情况:
我有一个启动JavaScript函数的链接(其中包含Ajax请求)。
JavaScript函数有一个链接传递的参数onclick ='jsFunction(param)'。
JavaScript函数在控制器内的函数中发送参数值,该函数将param值设置为会话变量。
然后,控制器中的函数会将会话变量的新值发送回JavaScript函数的Ajax请求。
当数据到达Ajax请求时,将使用传递的数据调用另一个函数。
问题:
由于我在谈论会话变量的值被传递给Ajax请求,我如何处理数据来自实时链接到第二个函数?我想在这里发布代码,但它对我只需要的信息来说太冗长了。
我的代码的当前状态是,我无法获取正确/最新的数据。相反,我得到的是之前的数据来自我点击的上一个链接。
是否存在Ajax功能,如果第一个功能处理完最新数据,我只能进入下一个功能?
非常感谢任何帮助。
答案 0 :(得分:2)
您可以使用任何jQuery AJAX方法的回调来延迟执行另一个函数,直到请求完成为止。
$.post('/some/url', somedata, function(returnData) {
// put the code you want to execute on completion here
});
或者如果您已经定义了在返回数据后调用的函数,则可以这样写:
$.post('/some/url', somedata, processData);