我有一个Javascript函数将数组数组传递给PHP文件。我的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方面的数据。
在此先感谢
安迪
我的数组是一个对象数组,每个对象都包含一组“怪异属性” - 数组可能相当大,所以我只是寻找传递数据的最佳方式。从您的意见,也许我选择了错误的方式来做到这一点。将欢迎关于如何将这么多数据传递给php脚本的建议。 –
“欢迎提供关于如何......的建议”请查看提供的链接,因为它们充满了AJAX示例 – feeela