json 到 php 并获取变量

json to php and get variable

AddNewFish=function()
{
    var formData = JSON.stringify($("#NewSubmitedFish").serializeArray());
    //var formData=$('#NewSubmitedFish').serialize();
    $.ajax({
        type: "POST",
        url: "http://localhost/vidacms/add/NewFish",
        //data : {valArray:formData},
        data: 'value='+formData,
        success: function(data){
            $("#ResultFish").html(data);
        }

    });
}

和我的 php 代码

 public static function SubmitNewFish()
{
    error_reporting(E_ALL);
    $data = json_decode(json_encode($_POST['value']), True);
    //$data=json_decode(stripslashes($_POST['valArray']), true);
   // var_dump($data);
   // var_dump($_POST);
    var_dump($data);
    //print $_POST['value']['bankname'];
    /*$contract_details = $_POST['valArray'];
    $decoded = json_decode($contract_details);
    print_r($decoded);*/

}

我的控制器函数无法访问变量 用 var_dump(); 结果是

string(139) "[{"name":"bankname","value":"2"},{"name":"peygiry","value":"fish"},{"name":"payment_date","value":"9999/99/99"},{"name":"desc","value":""}]" 

谁可以访问此变量的值

您不需要使用 json_encode,因为 $_POST['value'] 是 json。

public static function SubmitNewFish()
{
    error_reporting(E_ALL);
    $data = json_decode($_POST['value'], True); //return array based on json

    //$data=json_decode(stripslashes($_POST['valArray']), true);
   // var_dump($data);
   // var_dump($_POST);
    var_dump($data);
    //print $_POST['value']['bankname'];
    /*$contract_details = $_POST['valArray'];
    $decoded = json_decode($contract_details);
    print_r($decoded);*/

}

Javascript 像这样

AddNewFish=function()
{
    var formData = $("#NewSubmitedFish").serializeArray();
    //var formData=$('#NewSubmitedFish').serialize();
    $.ajax({
        type: "POST",
        url: "http://localhost/vidacms/add/NewFish",
        data : {valArray:formData},
       // data: 'value='+formData,
        success: function(data){
            $("#ResultFish").html(data);
        }

    });
}

并且PHP像这样

public static function SubmitNewFish()
{
    error_reporting(E_ALL);
    $datas =json_decode($_POST['valArray'], true);//$_POST['valArray'];
    $bankname = $desc = $pay‌​ment_date = $peygiry = "";
    foreach($datas as $data)
    {
        if($data['name'] == "bankname")
        {
            $bankname = $data['value'];//$data['value'] not sure what you want
        }
        if($data['name'] == "desc")
        {
            $desc = $data['value'];//$data['value'] not sure what you want
        }
        if($data['name'] == "pay‌​ment_date")
        {
            $pay‌​ment_date = $data['value'];//$data['value'] not sure what you want
        }
        if($data['name'] == "peygiry")
        {
            $peygiry = $data['value'];//$data['value'] not sure what you want
        }
        //echo "<pre>";print_r($data);echo "</pre>";//try echo $data['name']; or echo $data['value'];
    }   
}