0 レビュー
2 回答
javascript-js配列をPHPに渡す
PHPで$_POSTを介してアレイにアクセスできないのはなぜですか? jQueryの$.postメソッドを使用しようとしています。修正されたコードと提案は次のとおりです。
私のJavaScript:
<script type="text/javascript">
var selectedValues;
var serializedValues;
$("td").click(function() {
$(this).toggleClass('selectedBox');
// map text of tds to selectedValues
selectedValues = $.map($("td.selectedBox"), function(obj) {
return $(obj).text();
});
serializedValues = JSON.stringify(selectedValues);
// $.post('/url/to/page', {'someKeyName': variableName}); //exemple
$.post('handler.php',
{'serializedValues' : serializedValues},
function(data) {
//debug
}
);
});
</script>
私のphp:
<?php
if(isset($_POST['serializedValues'])) {
var_dump($_POST['serializedValues']);
$originalValues = json_decode($_POST['serializedValues'], 1);
print_r($originalValues);
}
?>
わからない
0
レビュー
答え :
解決策:
配列をjson文字列にシリアル化する必要があります:
serializedValues = JSON.stringify(selectedValues)
そしてそれをphpに渡します。そして、json_decodeでデコードします:
$originalValues = json_decode($_POST['serializedValues'], 1);
わからない
0
レビュー
答え :
解決策:
補足説明。 JavaScriptをもう少し単純なものにリファクタリングすることができます
$("td").click(function() {
$(this).toggleClass('selectedBox');
// map text of tds to selectedValues
var selectedValues = $.map($("td.selectedBox"), function(obj) {
return $(obj).text();
});
// $.post('/url/to/page', {'someKeyName': variableName}); //exemple
$.post('handler.php',
{'serializedValues' : JSON.stringify(serializedValues)},
function(data) {
//debug
}
);
});
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。