在 PHP 端读取 JSON 对象时获取 NULL

问题描述

我正在尝试通过 ajax 向 PHP 发送一个 JSON 对象。但是在 PHP 端得到 null 值。

Jquery 代码

 t_data = [{"name":"John","age":30,"car":null},{"name":"John","car":null}]      
      $.ajax({
        url: "someupdate",data: {"test":JSON.stringify(t_data)},dataType: "json",type: "POST",beforeSend: function () {
          startLoading('Some  Update in progress,please wait');
        },complete: function () {
          stopLoading();
        },success: function (data,textStatus,jqXHR) {
        },error: function (jqXHR,errorThrown) {
        }
      });
    }

PHP

$request = $this->getRequest();
        if ($request->isPost()) {
            $configDetails = $this->params()->fromPost('test');
   var_dump($configDetails);
var_dump(json_decode($configDetails);

输出

string(153) "[{"name":"John","car":null}]" NULL

正如您在输出中看到的那样,当我不使用 json 解码时,响应以所需的格式可见。我想知道为什么它在我解码时显示空值。

任何人都可以帮助我确定我的实现缺少什么以获得预期的结果

#更新

  1. 我在没有 JSON.stringify 的情况下尝试过,结果如下
array(4) { [0]=> bool(false) [1]=> bool(false) [2]=> bool(false) [3]=> bool(false) }
  1. 有人可以提出一种更好的方法来将 JSON 对象从 Jquery 传递到 PHP(正在使用 Zend Framework)
  2. 我实际上正在使用
  3. 创建一个对象
function createJSON() {
    jsonObj = [];
    $("input[class=email]").each(function() {

        var id = $(this).attr("title");
        var email = $(this).val();

        item = {}
        item ["title"] = id;
        item ["email"] = email;

        jsonObj.push(item);
    });

    console.log(jsonObj);
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)