你有多长时间做出ajax响应?

时间:2011-11-04 06:29:06

标签: ajax

在我的网站上,我想向服务器发出一些ajax请求。服务器在返回响应之前必须做一些非常繁重的计算;我想它可能需要1-30秒,也许多达一分钟。这会导致任何问题吗?比如,你的浏览器会关闭连接吗?如果是这样,我应该查看其他技术,例如使用node.js + socket.io?

推送通知

3 个答案:

答案 0 :(得分:2)

在大多数情况下,浏览器不会在您提及的时间范围内关闭连接(1-30秒)但是对用户来说可能看起来“有趣”。
除此之外,我总是会做出如此繁重的ASYNC ...这开辟了扩展的可能性......取决于发生了什么事情,网络推送通知可能并不总是wotrk但是一个好主意...也许你可以将它与非常温和的投票(即每15秒左右)。

答案 1 :(得分:1)

我不知道我的头顶,但30秒听起来太长了。如果今天可能需要30秒,那么在您推出产品或服务后,可能需要5分钟6个月。

为什么不创建一个轮询系统。进行初始请求调用以启动后台计算,然后每秒轮询ajax调用以查看它是否已完成。当您最终获得成功时,请调用返回完成结果的方法。

答案 2 :(得分:1)

AJAX请求没有标准化超时。与@Yahia所说的相反,大多数浏览器最终关闭一个挥之不去的连接。几年前我在几个浏览器上检查了这个。例如,Firefox会在几个小时后关闭连接。你要做的事情应该通过使用websockets或(long)轮询以及刷新请求的设置超时来解决。

现代浏览器不应该在30秒或一分钟内关闭连接,但你永远不知道。