2015-10-09 37 views
0

这是可能的情况。Ajax请求次数是否可以从以前的某个请求中获得最终结果?

用户点击一个按钮,该按钮会对MVC c#控制器操作进行ajax调用,该操作执行大量计算并返回json。 如果用户快速点击按钮x最后一次json结果有可能是前一次x-1请求的结果?

+0

TCP/IP的工作方式是否保证顺序? –

+0

想要的行为是什么? (你会考虑在服务器上添加一个定时器吗?或者更好的方法是在javascript中控制吗?) – zipzit

+0

最后一次点击按钮将被最后处理。但是,如果请求的处理速度不同,那么我不确定这是怎么回事 –

回答

1

要回答你的问题,是的,这是可能的。这甚至不可能。

+0

您是否知道排队请求的任何方式,并确保最后一个结果来自最后一个请求。我想一个明显的解决方案是防止多个请求。另一个将是ajax请求放弃先前的请求,然后执行它自己。我不知道这将如何影响服务器部分 - 我想在MVC控制器的情况下仍然会执行请求,但只是javascript部分不会期望结果。 –

+0

简单的方法是建立你自己的请求队列,当有一个请求进入时,然后请求队列中的下一个请求。或者如您所说,取消先前的请求并发出新的请求。 –

1

是的,这可能取决于请求的处理速度。

我遇到了类似的建议下降问题。用户输入类型很快,结果以不连贯的方式附加。

+0

你是如何解决这个问题的?在制作新的请求之前您是否放弃了最后的请求? –

+0

它有点不同。每当一个新的请求被触发时,我将删除旧的结果并开始考虑新的结果并使用它们 – Tej

相关问题