gpt4 book ai didi

javascript - 使用 passthru 将变量从 ajax 结果发送到 php

转载 作者:行者123 更新时间:2023-12-03 07:17:41 24 4
gpt4 key购买 nike

我有一个 PHP 文件,当选中复选框并单击按钮时,将调用包含以下代码的 js 文件

$.ajax ({
type: "POST",
url: "decisionExec.php",
dataType: "json",
data:({cnt:cnt,amGuide:guides.amGuide,folGuide:guides.folGuide,tichGuide:guides.tichGuide,nebGuide:guides.nebGuide,sterGuide:guides.sterGuide,ingGuide: guides.ingGuide }),
success: function(data) {
$("#message").html(data.message);//"Generating the files for the BookScouter results. An email will be sent when this is completed."
$("#start2").html(data.start);
} // end of success

}); // end of ajax

这段代码工作正常,并使用 POST 将正确的数据发送到我的 php 文件

 $amG        = $_POST['amGuide'];
$folG = $_POST['folGuide'];
$tichG = $_POST['tichGuide'];
$nebG = $_POST['nebGuide'];
$sterG = $_POST['sterGuide'];
$ingG = $_POST['ingGuide'];

我遇到的问题是这需要太长时间,所以我想像在其他区域一样使用直通文件,但无法弄清楚如何“直通”这些值这是我的 passthru php 文件。

 <?php
passthru('php /decision.php >> /web/webInv.txt &');
$now = date("m/d/y h:i:s");
$message = array('message' => 'An email will be sent when it is finished.',
'start' => 'Started at approx. ' . $now);
echo json_encode($message);
?>

关于如何做到这一点的任何想法(此文件需要大约 30 分钟来处理和通过电子邮件发送)

最佳答案

我猜您是在问如何将所有 POST 参数发送到 decision.php。您可以使用 serialize()json_encode() 序列化它们,并将其作为命令行参数发送到脚本。

$args = escapeshellarg(serialize($_POST));
shell_exec("php /decision.php $args >> /web/webInv.txt 2>&1 &");

使用 passthru 是没有意义的,因为输出被重定向,所以没有任何东西可以传递给客户端。

decision.php中,使用:

$_POST = unserialize($argv[1]);

获取参数。

关于javascript - 使用 passthru 将变量从 ajax 结果发送到 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36345712/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com