[英]Jquery array send by ajax to php
我查看了很多關於此的帖子,但仍然無法使我的代碼正常工作。
我想獲取我選中的復選框值的php數組。
這是我的代碼:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
<title>Untitled Document</title>
</head>
<body>
<?php
echo'<form method="post">
<input type="checkbox" name="cim" value="valami">';
echo'<input type="checkbox" name="cim" value="valami2">';
echo'<input type="checkbox" name="cim" value="valami3">';
echo'<input type="checkbox" name="cim" value="valami4">
<input type="submit" value="Felvisz" name="feladat"></form>';
if (isset($_POST['feladat'])) {
?>
<script type="text/javascript">
var checkedValue = $('.messageCheckbox:checked').val();
var myJSON = JSON.stringify(checkedValue);
$.ajax({
type: "POST",
url: "proba.php",
data: { tomb : myJSON },
success: function(){
alert("OK");
}
});
</script>
<?php
var_dump($_POST);
$array = json_decode(stripslashes($_POST['tomb']));
foreach($array as $arr){
echo $arr;
}
}
?>
</body>
</html>
我得到的按摩:注意:未定義索引:第48行的D:\\ programok \\ xamp \\ htdocs \\ SZAKDOGA \\ Dropbox \\ proba.php中的墳墓
警告:第49行的D:\\ programok \\ xamp \\ htdocs \\ SZAKDOGA \\ Dropbox \\ proba.php中為foreach()提供的參數無效
請有人可以幫我解決這個問題嗎?
要獲取數組,必須將名稱轉換為接受多個,因此更改輸入的:
name="cim"
至
name="cim[]"
您的jquery ajax函數也應該是這樣的:
<script type="text/javascript">
$(function(){
$("form").on("submit",function(e){
e.preventDefault();
var checkedValue = $(this).serialize();
$.ajax({
type: "POST",
url: "proba.php",
data: checkedValue,
success: function(){
alert("OK");
}
});//end ajax
});//end form submit
});
</script>
在php中,cim將是數組示例
var_dump($_POST["cim"]);
希望能幫助到你
目前,您正在使用messageChecked
類測試復選框。 為該類分配復選框,為您的表單指定id
,然后在每個復選框上測試檢查條件,
$('#yourForm').each(function() {
if($('.messageChecked').is(':checked')) {
checkedValue.push($('.messageChecked:checked').val());
}
}
現在通過ajax將其發送到您的php腳本,
$.ajax({
type: "POST",
url: "proba.php",
data: { tomb : (checkedValue) },
success: function(){
alert("OK");
}
});
如果做這樣你可以刪除json_decode
和stripslashes
從$_POST
聲明
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.