duanlu1922
2017-01-20 17:09
浏览 63

读取从Nodejs发送的带有Fetch模块的php中的JSON对象

I'm trying to Post a JSON object from Nodejs to a LAMP server. I can send the object, but I can't get it from my php script. I need help about getting the object in the php script.

Always return -- NOT SET -- WHY ? How can I do it ? Thank You

My code is:

**In express**

module.exports = function(app){
var fetch = require('node-fetch');  
var request = require('request-promise');

//Save
app.post('/cajaSave', function(req, res) 
{   
    var pago = req.body;  //object to send

    fetch('http://www.myurl/myscript.php',{
        headers: {
            'Accept': 'application/json',
            'Content-Type': 'application/json'
        },
        method: "POST",
        body: JSON.stringify(pago)  
    })
    .then(function(res) {
        return res.json();          
    })
    .then(function(json) {
        console.log(json);                      
    })
    .catch(function(err) {
        console.log(err);
    });
}); 

My php code is:

<?php
    header('Access-Control-Allow-Origin: *'); 
    $json = $_POST['body'];
    if(isset($_POST['body']))
    {
        $msg = "set";
    }
    else
    {
        $msg = "not set";
    }
    echo json_encode($msg); 
?>    

图片转代码服务由CSDN问答提供 功能建议

我正在尝试将一个JSON对象从Nodejs发布到LAMP服务器。 我可以发送对象,但是我无法从我的php脚本中获取它。 我需要有关在php脚本中获取对象的帮助。

始终返回 - 未设置 - - WHY? 我该怎么办? 谢谢你

我的代码是:

   **在express ** 
 
module.exports = function(app){
var fetch = require('node-fetch');  
var request = require('request-promise'); 
 
 // Save 
app.post('/ cajaSave',function(req,res)
 {
 var pago = req.body; // 对象发送
 
 fetch('http://www.myurl/myscript.php',{
 headers:{
'Accept':'application / json',
'Content-Type':'  application / json'
},
方法:“POST”,
 body:JSON.stringify(pago)
})
 .then(function(res){
 return res.json(); \  n})
 .then(function(json){
 console.log(json); 
})
 .catch(function(err){
 console.log(err); 
});  
});  
 
我的PHP代码是:
 
&lt;?php 
 header('Access-Control-Allow-Origin:*');  
 $ json = $ _POST ['body']; 
 if(isset($ _ POST ['body']))
 {
 $ msg =“set”; 
} 
 else 
 {\  n $ msg =“not set”; 
} 
 echo json_encode($ msg);  
&GT?;  
   
 
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • du0923 2017-01-20 17:42
    已采纳

    The JSON gets dumped into php://input

    $_POST = json_decode(file_get_contents('php://input'), true);
    
    打赏 评论

相关推荐 更多相似问题