dtvgo28624 2019-06-17 13:17
浏览 43

too long

I'm sending a POST request in Node.js to a php server. In the request i include the json as an object and not as a string.

Node.js request:

var request = require('request');

let data = { "name":"John", "age":30, "car":null };

request.post({
  headers: {'content-type' : 'application/json; charset=utf-8'},
  url: 'http://0.0.0.0:9000/html.php',
  method: 'POST',
  json: data
}, function(error, response, body){
  console.log(body);
});

html.php:

<?php
# Get JSON as an object
$json = file_get_contents('php://input');

$name = $json->name;

echo $json // Prints out the whole json correctly
echo $name; // Prints out "undefined"

I expect the output to be "John" instead of "undefined"

  • 写回答

2条回答 默认 最新

  • dongquan8753 2019-06-17 13:26
    关注

    When you get the JSON, it comes to you as a string (as you proved with echo $json). To make it into an object you must decode it:

    # Get JSON as an object
    $json = file_get_contents('php://input');
    $jsonObject = json_decode($json);
    
    $name = $jsonObject->name;
    
    echo $json // Prints out a string
    echo $name; 
    

    EXAMPLE

    评论

报告相同问题?

悬赏问题

  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算