HTML:
<form id="continue" action="summary.php" method="post">
<input type="submit" value="Continue" >
</form>
JS/JQuery
$('#continue').submit(function(){
var data = ["jon", "steve"];
var nameArray = JSON.stringify(data);
$.post("summary.php", { nameArray: nameArray });
});
PHP
$name = json_decode($_POST["nameArray"]);
print_r($name);
当我单击“继续”按钮时,我想重定向到summary.php 页面并列出名称。目前,加载summary.php 页面时出现“未定义索引:nameArray 错误”。
我检查了firebug,没有POST。所以看起来 nameArray 甚至没有被发布。解决办法是什么?
最佳答案
这不是处理数据的正确方法。
您正在发布一个页面(留下它)并在其中进行 ajax 发布?如果你想留在页面上,你可以使用 ajax post。如果您正常发布数据,则使用表单发布。
如果您想将名字 jon 或 steve 作为数组发布,您可以使用以下 html
<input type="hidden" name="nameArray[]" value="jon" />
<input type="hidden" name="nameArray[]" value="steve" />
如果你想使用ajax,那么就不要在提交表单时这样做。您可以在提交时执行此操作,但然后在函数末尾返回 false,这样页面就不会被提交(您将停留在当前页面)
关于php - 在提交时使用 jquery .post 将 javascript 数组传递到服务器,然后在 PHP 中打印数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8101555/