稍后再响应AJAX请求

Respond to AJAX request at a later time

本文关键字:AJAX 请求 响应      更新时间:2023-09-26

是否有可能使用AJAX和Django作为服务器,让用户的JS发出AJAX请求,然后让Django在较晚的时间响应用户请求,即当服务器具有用户的JS想要的东西时?

我的想法:

-AJAX requests for object
-Django caches request
-When object that user wants it available, Django signal tells
     view to respond to that request with the object

然而,我不知道如何允许JS脚本继续做其他事情,然后参加服务器的响应,当它得到它,或者有AJAX不计算服务器的不响应对象(或在所有)它想要作为一个错误。这是可能的没有JS无限循环AJAX请求,直到它得到它想要的吗?这可以通过Django在没有AJAX请求的情况下只给用户对象来完成吗?

我想你正在寻找处理完成时发送结果的繁重后端处理工作。因此,您可以选择以下任何一种流程

  1. 长轮询-在这里你可以做周期性的ajax调用来检查处理是否完成,一旦完成,你可以显示结果并停止周期性的ajax检查。

  2. Web套接字-这是我更好的方法。django-websocket-redis是我用来实现相同功能的库。该库有足够好的文档帮助您入门。

希望这对你有帮助。:)