我需要将一个javascript对象传递给PHP,然后将其解码为关联数组。我在这个网站上已经阅读了很多类似的问题,现在用Google搜索了几个小时。我的问题是我找不到涵盖双方(javascript和PHP)的SIMPLE示例。这是我试图做的简化版本。将数据作为键/值对发布是我可以通过的唯一方法。 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));
?>
答案 0 :(得分:0)
直接传递对象:
$.post("byterecord.php", obj, function() {});
然后在php中,你可以通过:
获得它$value1 = $_POST['value1'];
$value2 = $_POST['value2'];
答案 1 :(得分:0)
您的代码运行良好:
但是,从控制台检查时,您的请求正在生成PHP通知:
Notice: Use of undefined constant value1 - assumed 'value1'
从
更改参数 $aarray[value1];
到
$aarray['value1'];
或者,尝试关闭error_reporting:
error_reporting(0);