gpt4 book ai didi

php - 如何在 PHP 中检索从 Javascript 传递的数据数组?

转载 作者:行者123 更新时间:2023-11-30 13:30:35 25 4
gpt4 key购买 nike

我有一个 Javascript 函数可以将数据数组传递给 PHP 文件。我的 Javascript 动态创建一个表单,如下所示

function SaveFileToDisk(filename)
{
var ssForm = document.createElement("form");
ssForm.method="post" ;
ssForm.action = "saveScenario.php" ;
ssForm.target = "hiddenSaveScenarioStatusFrame";

for (var i = 0; i < ScriptSteps.length; i++)
{
var ssInput = document.createElement("input");
ssInput.setAttribute("filename", filename);
ssInput.setAttribute("timestamp", ScriptSteps[i].timestamp);
ssInput.setAttribute("lhsName", ScriptSteps[i].lhsName);
ssInput.setAttribute("lhsPort", ScriptSteps[i].lhsPort);
ssInput.setAttribute("lhsBandwidth", ScriptSteps[i].lhsBandwidth);
ssInput.setAttribute("lhsDelayMin", ScriptSteps[i].lhsDelayMin);
ssInput.setAttribute("lhsDelayMax", ScriptSteps[i].lhsDelayMax);
ssInput.setAttribute("lhsDropLoss", ScriptSteps[i].lhsDropLoss);
ssInput.setAttribute("lhsFilters", ScriptSteps[i].lhsFilters);
ssInput.setAttribute("lhsDefaultFilter", ScriptSteps[i].lhsDefaultFilter);
ssInput.setAttribute("rhsName", ScriptSteps[i].rhsName);
ssInput.setAttribute("rhsPort", ScriptSteps[i].rhsPort);
ssInput.setAttribute("rhsBandwidth", ScriptSteps[i].rhsBandwidth);
ssInput.setAttribute("rhsDelayMin", ScriptSteps[i].rhsDelayMin);
ssInput.setAttribute("rhsDelayMax", ScriptSteps[i].rhsDelayMax);
ssInput.setAttribute("rhsDropLoss", ScriptSteps[i].rhsDropLoss);
ssInput.setAttribute("rhsFilters", ScriptSteps[i].rhsFilters);
ssInput.setAttribute("rhsDefaultFilter", ScriptSteps[i].rhsDefaultFilter);
ssForm.appendChild(ssInput) ;
}
document.body.appendChild(ssForm) ;
ssForm.submit() ;
document.body.removeChild(ssForm) ;
}

但是当我编写我的 PHP 脚本时,我期望在 $_POST 变量中找到数组,并认为我会得到包含上述字段和相应数据的数组的每个元素。当我查看 PHP 脚本中 $_POST 数组的大小时,它显示为零。我做错了什么或者我使用错误的方法来做这种事情。

顺便说一句,我真的只需要传递一次文件名,但我认为最简单的方法是将它与数组的每个元素一起传递。有没有更好的方法让文件名传递一次,其余字段为每个“步骤”传递?在网上搜索有关将数据数组从 Javascript 传递到 PHP 的想法 - 似乎有很多方法,其中一种是我尝试过的方法,但没有解释在 PHP 端检索数据。

提前致谢

安迪

最佳答案

事实上,您只是创建了一个输入字段并为其分配了一堆奇怪的属性(例如“lhsName”,那是什么?它不是 HTML)。请查看生成的 HTML。每个变量需要一个输入。

另一方面,整个方法很奇怪。为什么不调用脚本并将所有变量作为 JSON 编码数据发布?

另见

关于php - 如何在 PHP 中检索从 Javascript 传递的数据数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6910482/

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