从角度请求中检索数据

时间:2016-06-08 09:57:07

标签: angularjs node.js post express

现在我的情况是我有一个来自Angular模块的帖子请求,试图将一些数据发送到用node.js和Express处理的URL。

tickets.js:

$http(
    {
        method: "post",
        url: "/ticketDetail",
        headers: {"application/json"},
        data: {detail : "test"}
    }).then(function successCallback(response)
    {
        $scope.detail = response.data;
    }, function errorCallback(response){});

app.js:

app.post("/ticketDetail", function(req, res)
{
    console.log(req.data.detail);
    res.json(req.data);
}

看起来req.data未定义。

我应该如何从我的网址处理程序中的请求中检索数据?

3 个答案:

答案 0 :(得分:1)

您需要从req

的正文中获取数据
var qs = require('qs');

app.post('/', function(req,res){
   var body = qs.parse(req.body);
   var detail = body.detail;
   console.log('details',detail); //prints test
});

答案 1 :(得分:0)

我相信你的帖子与AngularJs语法不匹配。你的$ http.post应该是;

$http.post('/ticketDetail', data, config).then(successCallback, errorCallback);

答案 2 :(得分:0)

因此,在您的网址处理程序中,您不应使用data: {detail : "test"}访问字段req.data,而是使用req.body

app.post("/ticketDetail", function(req, res)
{
    console.log(req.body.detail); // prints "test"
    res.json(req.data);
}