我正在尝试进行AJAX调用(通过JQuery),这将启动一个相当长的过程.我希望脚本只是发送一个响应,表明进程已经启动,但是在PHP脚本运行完毕之前,JQuery不会返回响应.
我用"关闭"标题(下面)尝试了这个,还有输出缓冲; 似乎都不起作用.任何猜测?或者这是我在JQuery中需要做的事情?
<?php
echo( "We'll email you as soon as this is done." );
header( "Connection: Close" );
// do some stuff that will take a while
mail( 'dude@thatplace.com', "okay I'm done", 'Yup, all done.' );
?>
Run Code Online (Sandbox Code Playgroud) 我的脚本由服务器调用.从服务器我会收到ID_OF_MESSAGE和TEXT_OF_MESSAGE.
在我的脚本中,我将处理传入的文本并使用params生成响应:ANSWER_TO_ID和RESPONSE_MESSAGE.
问题是我正在向incomming发送响应"ID_OF_MESSAGE",但是在收到http响应200之后,向我发送消息的服务器将把他的消息设置为发送给我(这意味着我可以发送给他的响应).
解决方案之一是将消息保存到数据库并制作一些将每分钟运行的cron,但我需要立即生成响应消息.
是否有一些解决方案如何发送到服务器http响应200而不是继续执行PHP脚本?
非常感谢
我想在制作所有硬处理数据之前向最终用户返回响应。
我想简单地获取用户的请求,返回响应,它可以是一个简单的 json,
用户将看到数据,但在我的服务器端,我将继续其余的处理,调用分析,更改数据库等。
像这样的想法: 发送http响应后继续处理php