Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将JSON数据获取到PHP_Php_Html_Json_Post - Fatal编程技术网

将JSON数据获取到PHP

将JSON数据获取到PHP,php,html,json,post,Php,Html,Json,Post,我在JSON方面遇到了问题。 我有来自JS的代码图片: type: "POST", url: '/form.php', data: JSON.stringify(this.getValues()), contentType: 'application/json', success: function(data){ that.afterSubmit(); }, 在我收到这封信后: [{"role":"name","label":"Name","value":"ttere"},{"role

我在JSON方面遇到了问题。 我有来自JS的代码图片:

type: "POST",
url: '/form.php',
data: JSON.stringify(this.getValues()),
contentType: 'application/json',
success: function(data){
    that.afterSubmit();
},
在我收到这封信后:

[{"role":"name","label":"Name","value":"ttere"},{"role":"phone","label":"Phone","value":"(454) 564-56-45"}]
没关系,但我无法将此参数获取到php文件:

$data = json_decode($_POST['Object']);
$response = 'Get params '.count($data).'\n';
foreach ($data as $key=>$value) {
    $response .= 'Par: '.$key.'; Val: '.$value.'\n';
}
echo $response;

为html创建一个隐藏的输入字段,并使用javascript更新该字段的值,然后发布表单。i、 e:

<html>
  <body>
    <form id="after-i-get-json-stuff" method="post">
      <input id="update-this" type="hidden" name="Object" value="" />
    </form>
    <script>
      //HOWEVER YOU GET YOUR JSON DATA
      $('#update-this').val(data);
      $('#after-i-get-json-stuff').submit();
    </script>
  </body>
</html

//但是,您可以获得JSON数据
$(“#更新此”).val(数据);
$('#after-i-get-json-stuff').submit();

我不明白你在这里想干什么?您是否正在尝试创建json,将其附加到响应消息,然后将其发送回?从外观上看,您正在尝试获取他在客户端脚本中收到的json数据,以显示在服务器端脚本中。也许他可以保存它。你问题中的JSON数据来自哪里?它们来自
$data
变量吗?我认为他没有试图保存它,因为如果他试图保存JSON(我猜是保存到DB),那么他为什么要将它附加到(string)$response变量?如果您想在json中添加一个新字符串,只需将其添加到$data中,将其重新编码为json并发送即可。但这只是一个猜测。