Sco*_*ord 10 python django ajax
我发起请求客户端,然后我改变主意并打电话xhr.abort().
Django对此有何反应?它以某种方式终止线程吗?如果没有,我怎么让Django停止浪费时间试图回应中止的请求?我该如何优雅地处理它?
Sae*_*eed -1
只需将 Web 视为构建易于使用、分布式、松散耦合系统的平台,并不能保证资源的可用性(如 404 状态代码所示)。
我认为创建像您的想法这样的紧密耦合的解决方案违反了 Web 原则和 REST 的使用。xhr.abort()是客户端编程,它与服务器端完全不同。试图将客户端技术与服务器端内部行为紧密结合是一种不好的做法。
这不仅浪费资源,而且无法保证Web服务器处理请求的状态。也可能会导致数据不一致。
如果您的请求不会产生客户端可以负责的服务器端副作用。最好忽略它,因为此类请求不会更改服务器状态并且通常会缓存响应以获得更好的性能。
如果您的请求可能会导致服务器状态或数据发生变化,为了数据的一致性,您可以通过API检查更改是否生效。如果出现影响,请尝试使用另一个 API 进行回滚。