我有一个javascript正在收集这样的数据:
var chk = [];
$("input[name=row_sel]:checked").each(function() {
chk.push ({
"value": $(this).attr('id'),
"type" : $(this).data('typo')
});
});// JavaScript Document
chk数组正在通过ajax发送到php脚本中 我该如何解释那个数组?
我试过这样做:
$chk = $_REQUEST['chk'];
foreach ($chk as $info) {
}
发送数组的ajax是:
$.ajax({
url: 'view/debts/debts_validation.php',
type: 'post',
dataType: 'json',
data: { 'chk[]' : chk },
beforeSend: function() {
$("#dt_debts_processing").css("visibility","visible");
},
complete: function() {
$("#dt_debts_processing").css("visibility","hidden");
$("#dt_debts_processing").html('Checking compatibility...');
},
success: function(json) {
if (json['status']) {
location = '?route=home/debts/insert';
cForm.hide().append('body').submit();
return false;
} else {
$.sticky("Current selection is not available for multiple edit.", {autoclose : 5000, position: "top-right", type: "st-error" });
}
}
});
答案 0 :(得分:2)
我认为您正在尝试通过ajax发送JavaScript对象。
你不能这样做。您需要使用JSON.stringify()
函数序列化对象。
然后,您可以使用json_decode()
函数重新编译此字符串。
我希望有所帮助。
<强> PS:强>
不要使用$_REQUEST
变量访问Request-Data。使用$_GET
或$_POST
答案 1 :(得分:1)
此?
data: { 'chk[]' : chk },
你可以完美地发送它:
data: { chk : chk },
并通过以下方式访问数组:
$chk = $_POST['chk'];
foreach ($chk as $info) {
echo "value: ".$info["value"];
echo "type: ".$info["type"];
}
答案 2 :(得分:0)
就这样做:
$chk = $_REQUEST['chk'];
foreach ($chk as $info) {
echo $info;
}