避免在浏览器中涉及Ajax事件的弹出块的最佳实践

时间:2011-08-09 12:47:04

标签: javascript ajax popup

我知道这听起来可能类似于SO上的一些问题,但他们不知道如何以最佳方式说服我。

现在我知道,在使用AJAX时它是一个非常简单的建议,从来没有(曾经)用于同步XHR。但是,如果XHR是某些验证标准的一部分,如果成功必须打开一些弹出窗口,那该怎么办呢?调用异步XHR的那一刻,用户事件已经结束。如果浏览器正常运行,那么打算在回调中打开的Popup将永远不会发生。

在这种情况下,最佳做法可能是什么样的好办法。

我读过的一个干净的解决方案是立即打开弹出窗口并改变它们在回调中的行为。现在,这可能与需要保留直到我们进入回调的额外状态有关。那里有比这更好的解决方案吗?或者,如果没有引起太多麻烦,那么理智的人会坚持使用同步XHR吗?

1 个答案:

答案 0 :(得分:1)

  

我读过的一个干净的解决方案就是立即打开弹出窗口并改变回调中的行为。

当我看到你问题的标题时,这将是我的答案。

  

现在这可能会导致额外的状态需要保留,直到我们进入回调。

将回调声明为创建弹出窗口的函数中的闭包。它将继承所有状态,浏览器不会锁定。