setInterval()ajax调用在本地服务器上运行,但在联机服务器中给出错误

时间:2019-07-14 18:30:09

标签: ajax

我有一个网站,其中有聊天室,我可以使用该聊天室发送AJAX请求,以检查某人是否收到新消息。如果收到新消息,它将被添加到DOM而不刷新页面(如Facebook)。

我正在使用:-

setInterval(check_if_new_message, 1000);

即一个AJAX请求每秒检查一次消息。

这和我尝试在本地服务器上运行时的预期效果一样。但是后来我在GoDaddy上购买了Starter Shared Linux Hosting,然后我的ajax请求无法正常工作。前100-150个请求运行正常,但之后,它在浏览器的控制台中显示为 net::ERR_CONNECTION_CLOSED 之类的错误。

setInterval(check_if_new_message, 1000);

1 个答案:

答案 0 :(得分:1)

您可以看到您正在使用:

setInterval(check_if_new_message, 1000);

这意味着您每隔1秒钟就会拨打一次 check_if_new_message 。由于它在您的计算机上,因此在localhost中可以很好地工作。但是,当您在实时服务器上尝试此操作时,您将获得:

net::ERR_CONNECTION_CLOSED

这是因为您的服务器无法处理那么多请求。您的服务器的RAM可能更少。

对于实时聊天应用程序,这不是一个好习惯。

如果要制作实时聊天应用程序,请使用 WebSocket

WebSocket的有用资源:

What is WebSocket?

WS library