当我希望我的 AJAX 调用是同步的(从而禁止用户在完成之前做任何事情?)时,对屏幕阻止程序有什么好的建议吗?
问问题
70 次
1 回答
2
当您使用 Synchronous-JAX (SJAX) 时,您将失去 AJAX 的好处,这在大多数(或所有)情况下会导致糟糕的用户体验。
反而:
尝试使用模态窗口来遮蔽页面的其他部分,同时关注您的 UI,而不是使用 SJAX 锁定 UI。尽管这是最直接的方法并且现在是异步的,但是如果在服务器响应之前阻止用户执行任何操作,您仍然会失去异步的整个概念。
更好的方法是暂时删除调用 AJAX 的处理函数,以防止对表单/按钮/其他内容的进一步操作,同时允许在页面的其他部分继续操作。
例如,您有一个表格。您将事件处理程序绑定到在提交时调用 AJAX 的表单。在提交期间,创建一些逻辑来临时从表单中删除该处理程序或阻止它调用 AJAX,以便进一步提交什么也不做,或者说“仍在处理/加载”。服务器回复后,重新附加该处理程序以使其工作。
于 2012-12-21T11:18:37.820 回答