返回响应并继续执行PHP脚本

时间:2014-03-27 09:57:07

标签: php ajax execution

有没有办法返回对AJAX调用的响应并保持执行活动。

文件执行需要更长的时间,这会延迟AJAX调用的响应。我们可以先将输出返回给AjAX,然后再处理脚本其余部分的执行。

1 个答案:

答案 0 :(得分:1)

是的,有一些方法。所有这些都意味着在初始输出发生后无法输出错误。

Content-Length: xxxConnection: close

这意味着知道(或测量)响应的长度(以字节为单位)。为此,您需要使用输出缓冲区来捕获输出的所有内容。

将内容放在变量中,您可以设置标题,指定content-lengthConnection: close,然后刷新所述内容(以ob_flush_end() + flush()的奇怪组合)

关机功能:

您可以注册要在脚本末尾运行的自定义函数/方法。如果您可以设计逻辑/应用程序,以便可以在关闭功能中阻塞所有必需的功能,那么这是更简单的方法。

这有几个缺陷 - 无法使用在调用shutdown函数之前构造的对象(它们的析构函数现在已被调用) - 因此您的应用程序逻辑需要初始化或重新初始化对象。