Php WordPress admin ajax-将操作推迟到发送响应之后
我使用admin-ajax.php响应来自JavaScript的请求 当我收集了我想要的数据并返回了我的响应后,我还需要将一些数据发送到外部API并向用户发送电子邮件。这两件事都需要一点时间 我希望我可以做类似的事情,在启动操作之前通过AJAX返回JSON响应,这样在用户返回响应后,它们基本上可以在后台发生:Php WordPress admin ajax-将操作推迟到发送响应之后,php,ajax,wordpress,admin-ajax,Php,Ajax,Wordpress,Admin Ajax,我使用admin-ajax.php响应来自JavaScript的请求 当我收集了我想要的数据并返回了我的响应后,我还需要将一些数据发送到外部API并向用户发送电子邮件。这两件事都需要一点时间 我希望我可以做类似的事情,在启动操作之前通过AJAX返回JSON响应,这样在用户返回响应后,它们基本上可以在后台发生: function my_ajax_action() { //process the $_REQUEST ajax data here echo json_enc
function my_ajax_action() {
//process the $_REQUEST ajax data here
echo json_encode($results);
do_action('request_successful', $results);
wp_die();
}
…但它显然在死之前等待完成操作(因为PHP不是异步的),AJAX请求在提供响应之前不会完成
是否有任何已知的方法将这些操作推迟到响应完全发送之后?附加到这些操作的两个函数不需要提供响应,只需在用户浏览器中显示结果所需的时间上增加几秒钟
我猜我可以将它们存储在cron作业中,很快就会发生,但我觉得很可能有人已经以更好的方式解决了这个问题
谢谢
Aaron这可能与PHP会话锁定有关,如果您已经有一个使用会话数据的脚本,那么也将请求会话数据访问的后续脚本将被搁置,直到初始脚本完成。阅读更多如何避免它: