我正在开发一个JavaScript应用程序,它必须通过AJAX执行两次单独的检查。根据每次检查的结果,行为会有所不同。我对此感兴趣的案例是两次检查都成功时。我已经确定了一些方法来做到这一点,我希望从SO获得一些关于他们认为最佳方法的反馈。
我的问题涉及第三种方法,即我赞成的方法。我喜欢这样的事实:我的处理程序只通过抛出的事件连接,并且AJAX调用可以同时发生。我想知道的是,还有其他人以这种方式使用过这个模块吗?我可以期待什么样的陷阱?我担心我可能会为自己的竞争状况做好准备 - 我该怎样才能减轻这种情况?最后,对于任何读过这篇文章的人来说,还有更好的方法吗?我的清单是非详尽的,还是设计存在根本缺陷?建设性的批评和评论非常受欢迎。
编辑:虽然服务器请求确实使用了会话,但是它们彼此无关并且不会写会话数据,所以没有理由不在服务器上并行发生它们(除非PHP会话有一些限制我不喜欢不知道。我们也进行服务器端检查,但我们发现在某些重要事件之前我们需要立即检查服务器,以便我们可以在极少数事件中通知用户某些内容发生了变化。
答案 0 :(得分:0)
你没有说明你有什么服务器端?我个人赞成备选方案2,但有几个实际的原因。
跨浏览器意味着支持IE和IE只允许向服务器发出2个未完成的请求。我会避免以这种方式使用它们,它可能导致明显的浏览器锁定,不像使用同步请求那么严重但仍然非常糟糕。
这些请求通常会运行使用某种会话的服务器端代码,这反过来会导致请求依次限制处理,因此无法实现所需的性能提升。
你需要两个结果,因此需要在它们之间创建一个耦合,如果你编写一个这样的代码,可选地链接到另一个是它的设计的一部分,它知道具体应该解耦的原因。