1

当我希望我的 AJAX 调用是同步的(从而禁止用户在完成之前做任何事情?)时,对屏幕阻止程序有什么好的建议吗?

4

1 回答 1

2

当您使用 Synchronous-JAX (SJAX) 时,您将失去 AJAX 的好处,这在大多数(或所有)情况下会导致糟糕的用户体验。

反而:

  • 尝试使用模态窗口来遮蔽页面的其他部分,同时关注您的 UI,而不是使用 SJAX 锁定 UI。尽管这是最直接的方法并且现在是异步的,但是如果在服务器响应之前阻止用户执行任何操作,您仍然会失去异步的整个概念。

  • 更好的方法是暂时删除调用 AJAX 的处理函数,以防止对表单/按钮/其他内容的进一步操作,同时允许在页面的其他部分继续操作。

    例如,您有一个表格。您将事件处理程序绑定到在提交时调用 AJAX 的表单。在提交期间,创建一些逻辑来临时从表单中删除该处理程序或阻止它调用 AJAX,以便进一步提交什么也不做,或者说“仍在处理/加载”。服务器回复后,重新附加该处理程序以使其工作。

于 2012-12-21T11:18:37.820 回答