Javascript / AJAX所需的屏幕阻止代码

时间:2012-12-21 11:07:10

标签: javascript ajax

当我希望我的AJAX调用是同步的时候对屏幕拦截器有任何好的建议(从而使用户不做任何事情直到完成?)

1 个答案:

答案 0 :(得分:2)

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

相反:

  • 尝试使用modal window遮住页面的其他部分,同时关注的UI处于焦点,而不是使用SJAX锁定UI。虽然这是最直接的方法,现在是异步的,如果阻止用户在服务器响应之前做任何事情,你仍然会失去async的整个概念。

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

    例如,您有一个表单。您将事件处理程序绑定到在提交时调用AJAX的表单。在提交期间,创建一些逻辑,从表单中临时删除该处理程序或阻止它调用AJAX,以便进一步提交任何内容或者可能说“仍在处理/加载”。服务器回复后,重新连接该处理程序以使其正常工作。