我發佈表單數據,其中包含一些複選框和其他輸入到使用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