节点js服务器没有从angularjs接收数据

时间:2017-01-19 06:33:14

标签: javascript angularjs node.js

我在angularjs客户端有一个数据。当我使用$ http.post将数据发送到服务器时,我无法在服务器上读取数据。我不明白我哪里出错了? 这是角度代码:

var data = $.param({
        id:$scope.user_id,
  });
alert(JSON.stringify(data));
$http.post('/getdetails',data)

这是节点js服务器代码:

app.post('/getdetails',function(req,res){
  console.log(req.body);
  console.log(req.body.id);

});

在服务器日志输出:

{}
undefined

我不关心我发送的数据,我只担心它是否在服务器上可读。

谢谢!

1 个答案:

答案 0 :(得分:0)

您正在尝试使用$ .param()来序列化您的数据,该内容仅在GET方法中使用,而不是在post中使用。只需将您的JSON数据直接发送到nodeJs,如下所示:

var data = {
        id:$scope.user_id,
  };
$http.post('/getdetails',data)

在您的标题中指定:

"Content-Type" : "application/json"

所以最后的请求将是这样的:

$http.post('/getdetails',data,{headers : {"Content-Type" : "application/json"}})