我发布表单数据,其中包含一些复选框和其他输入到使用jQuery的.serialize()的PHP脚本。使用.serialize()发布表单数据PHP错误
post.js:
$(function(){
$("#button").click(function(){
$.ajax({
type: "POST",
url: "post.php",
data: $("form#input").serialize(),
success: function(data){
$.getJSON('post.php', function(data) {
$.each(data, function(key, val) {
})
})
}
})
})
})
post.php中:
$tags = array();
foreach($_POST['checkboxes'] as $key => $value){
$tags[] = "$value";
}
$json = array(
array(
"tags" => $tags,
),
);
echo json_encode($json);
如果我点的getJSON到post.php中我得到了我的错误日志中的PHP警告说:“PHP的警告:为foreach()提供了无效的参数“,这会导致输入表单中的数据无法正确传递(即在foreach没有写入任何内容后进行fwrite)。如果我引用getJSON的另一个文件,比如说data.php,或者如果我根本没有包含它,这个帖子就可以正常工作。这是为什么发生?我可以只存储数据并创建第二个脚本来返回JSON数据,但在一个脚本中完成所有操作会更容易。
谢谢并感谢所有回答的人!我不明白getJSON和成功如何工作。是的,那是我想要的功能。再次感谢您解释得很好的答案。 :) – user1461465 2012-07-06 14:42:43