首页 > 解决方案 > 接收通过 POST 从 Javascript 发送到 PHP 的对象

问题描述

在 Javascript(使用 JQuery)中,我通过 post 发送一个对象,如下所示:

var myobj = {};
myobj['test'] = 1;
myobj['child'] = {};
myobj['child']['test2'] = 2;
var myvar = 123;
$.ajax({
  type: "POST",
  url: url,
  data: myobj,
  success: success,
  dataType: dataType
});

现在在 PHP 中,我通过 $_POST 变量接收对象。我想将此对象作为多维数组访问。我将如何引用这个对象/变量及其内容?

如果我想与 myobject 一起发送(POST)另一个变量(myvar)怎么办?如何发送两者,以及如何在 PHP 中访问它们?

标签: javascriptphpjqueryarrayspost

解决方案


您可以在发送到 PHP 处理程序之前对对象进行 jsonify。

你的 javascript 可以是这样的:

var myobj = {};
myobj['test'] = 1;
myobj['child'] = {};
myobj['child']['test2'] = 2;
var myvar = 123;
$.ajax({
  type: "POST",
  url: url,
  data: {myobj: JSON.stringify(myobj), myvar: myvar},
  success: success,
  dataType: "json"
});

您可以data 像这样在 PHP 中访问多维数组:

$data = json_decode($_POST, true);
// $data['myobj'] contains the object
// $data['myvar'] contains the var 

推荐阅读