我需要将一个JavaScript对象传递给PHP,然后将其解码为关联数组。我已经在该网站上阅读了许多类似的问题,并在Google上搜索了几个小时。我的问题是我找不到涵盖双方的简单示例(javascript和PHP)。这是即时通讯试图做的简化版本。将数据作为键/值对发布是我可以通过的唯一方法。 HTML中有一个DIV用于显示答案。我要做的只是确认数据是否已超出此代码。
我所得到的只是“ POST数组已加载”,对我来说,这表明POST数组包含数据,但是我要么错误地对其进行了解码,要么不正确地访问了关联数组。我还阅读了JQUERY站点上的AJAX和POST页面,但是这些示例并没有使我了解所需的位置。如果我给strob指定一个简单的字符串值,它将完美传递。
$(document).ready(function(){
var obj={};
obj.value1="foo";
obj.value2="bar";
var strob=JSON.stringify(obj);
$.post("byterecord.php",{sendToValue: strob},
function(data){
$('#display').html(data.returnFromValue);
},
"json");
});
byterecord.php
<?php
if (isset($_POST['sendToValue'])){
$aarray=json_decode($_POST['sendToValue'],true);
$strval=$aarray[value1];
}else{
$strval = "nothing.";
}
echo json_encode(array("returnFromValue"=>"POST array is loaded with " .$strval));
?>
最佳答案
只需直接传递对象:
$.post("byterecord.php", obj, function() {});
然后在php中,您可以通过以下方式获得它:
$value1 = $_POST['value1'];
$value2 = $_POST['value2'];