2

我有这样的控制:

<asp:Button ID="save_all_filt" runat="server" Text="All data for filtered subjects"
        OnClientClick="  a= saveAllFilt(); return true; "   onclick="save_all_filt_Click" />

saveAllFilt 包含一个 JQuery ajax 调用。所以我在日志中看到的是,我同时启动了回发和 saveAllFilt。然而,回发“延迟”并且在 Ajax 调用 saveAllFilt fninshes 之前什么也不做。

我想知道是否有这样的方法: 1. onClientClick,系统进入 saveAllFilt JS 函数并以某种方式等待(!)直到 Ajax 函数以这种或那种方式完成。2. 只有完成后,才会开始真正的回发。

我确实意识到 JQuery ajax 调用是事件驱动和异步的。只是想阻止这些回发操作直到它完成(AJAX 调用为通过服务器回发发生的检索准备数据。)

4

1 回答 1

4

将jQuery AJAX 配置对象的async属性false设置为:

$.ajax({
    /* ... */
    async : false
    /* ... */
})
于 2012-11-09T15:29:43.263 回答