启动ajax服务器脚本并轮询完整性

Start ajax server script and poll for completeness

本文关键字:完整性 脚本 ajax 服务器 启动      更新时间:2023-09-26

我有一个AJAX请求,它需要很长时间才能完成执行。时间太长了,它通常会超时,然后继续在服务器上运行。所以我想,如果有某种方法可以启动它,偶尔轮询相同的完整性请求,那将是理想的。

所以我的问题是,你能运行一个服务器脚本,让它运行,偶尔轮询一下,看看它是否完成了吗?如果有帮助/重要的话,我正在使用web方法在服务器上运行。

我不想将数据存储在数据库中,所以我不能只轮询数据库,也可以轮询脚本本身。

然而,我的后备方法是创建一个临时表,这样我就可以从中调用它来查看进度。或者有更好的方法吗?

首先,如果不希望Ajax请求超时,可以使用"timeout"属性。用于Ajax调用的XMLHttpRequest对象具有"timeout"属性。查看文档,网址:http://www.w3.org/TR/XMLHttpRequest/#the-timeout属性。如果您使用jquery进行Ajax调用,您可以简单地执行类似的操作

$.ajax({
  url: 'your url',
  timeout: 100000 //this sets the timeout as 100 sec
  ……//your other attributes for the call
});

如果你有兴趣跟踪你的请求进度,这可能会有点困难,除非你想跟踪完整性(完整性)、错误、成功或特定的状态代码。jquery为此提供了不同的属性(完整、错误、成功和状态代码)。如果编写本机ajax调用(不带查询),onreadystatechange事件可以跟踪以下内容。0-未发送,1-已打开,2-已接收到Response_Headers,3-正在加载(正在接收响应),4-完成。更多信息,请访问http://www.w3.org/TR/XMLHttpRequest/#event-处理程序。我认为,跟踪除此之外的任何内容都将有助于您在代码中进行开发、维护和监控。