【问题标题】:How can I cancel request in Django如何在 Django 中取消请求
【发布时间】:2011-04-05 16:33:36
【问题描述】:

我已经在我的网站中进行了搜索,现在我每次开始打印时都尝试让它搜索。所以现在我正在发送许多包含不同文本的请求,以逐个使用 AJAX 进行搜索,并且每个下一个请求都必须等待,在前一个请求完成之前。显然我不需要回答旧请求,但我需要最后一个请求的唯一响应。 如何在 Django 中杀死非实际请求的队列?

有人知道答案吗?

【问题讨论】:

  • 正在发生导致请求被序列化的其他事情。尝试添加更多信息。

标签: ajax django request response


【解决方案1】:

在服务器端,取消请求可能为时已晚,但您可以忽略客户端的响应。我建议在发送新请求之前中止待处理的 AJAX 请求。

方法如下: Abort Ajax requests using jQuery

【讨论】:

  • 如果请求已经发送,这是无用的,因为锁在服务器端。这就是应该中止的。
【解决方案2】:

执行此操作的更简单方法是在将请求发送到服务器之前稍等片刻。每次输入后,设置一个定时器来停止前一个(setTimout),并且仅在满足超时时才发送请求。

如果一个请求已经被执行并且没有返回,你仍然可以按照另一个答案中的建议杀死它。

我不知道如何使用 django 阻止其他请求——希望这甚至不可能,如果请求可能被其他人杀死,这将是一个安全线程。

【讨论】:

  • 这里描述的客户端方法称为“去抖动”
猜你喜欢
  • 1970-01-01
  • 2012-02-18
  • 2013-05-17
  • 1970-01-01
  • 2018-01-22
  • 2014-02-05
相关资源
最近更新 更多