如何将javascript对象传递给PHP和访问的值

时间:2012-10-12 01:37:29

标签: php jquery object post json

我需要将一个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));  

?>

2 个答案:

答案 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);