您应该 JSON 编码/解码值:
在客户端,您用于JSON.stringify
对数组进行编码:
document.getElementById("hiddenFieldId").value = JSON.stringify(arrayFromJS);
然后在服务器端你可以使用json_decode
:
$arr = json_decode($_POST['hiddenFieldId']); // Fetch the data from POST / GET
foreach ( $arr as $value ) {
// iterate the array on the server side.
}
unset($arr); // Remember to unset the $arr variable
如果你知道你正在处理一个简单的数组(只有字符串),你可以在 javascript中加入字符串并在php中分解/拆分它:
document.getElementById("hiddenFieldId").value = arrayFromJS.join('/:/');
PHP:
$arr = explode('/:/', $_POST['hiddenFieldId']);
要支持旧版浏览器,您可以在前端使用此 JSON 插件:https ://github.com/douglascrockford/JSON-js