可能重复:
将 js 数组传递给 PHP
我被 jQuery $.post() 方法卡住了,我无法通过 PHP $_POST 访问我的方法,我不知道为什么。
这是js:
<script type="text/javascript">
var selectedValues;
$("td").click(function() {
$(this).toggleClass('selectedBox');
selectedValues = $.map($("td.selectedBox"), function(obj) {
return $(obj).text();
});
// $.post('/url/to/page', {'someKeyName': variableName}); //exemple
$.post('handler.php',
{'serializedValues' : JSON.stringify(selectedValues)},
function(data) {
//debug
}
);
});
</script>
这是PHP文件:
<?php
if(isset($_POST['serializedValues'])) {
var_dump($_POST['serializedValues']);
$originalValues = json_decode($_POST['serializedValues'], 1);
print_r($originalValues);
}
?>
当我在选择一些 td 元素后发出 console.log(selectedValues) 时,它会返回我这个例如:
[" 3 ", " 4 "]
别的,当我通过 XHR 检查发送的标头时,我得到了这个:
serializedValues:[" 3 "," 4 "]
最后,在 php var_dump($_POST) 中仍然没有返回任何内容:(
一些提示?提前致谢 :)