从AngularJS客户端向Express服务器发送JSON数据

3
我尝试使用AngularJS $http服务将JSON对象发布到Express服务器。但是我在服务器上得到一个空对象:“{}”

我看到了这个主题,但这并没有解决我的问题:angular post json to express

这里是Angular客户端的代码:

self.postTicket = function(ticket){
        $http({
            url: baseUrl+"features/",
            method: "POST",
            body: ticket,
            headers: {'Content-Type': 'application/json'}})
}

我检查了“ticket”对象,它不是空的。
这里是 Express 服务器:
var express = require("express");
var request = require("request");
var bodyParser = require('body-parser')


var app = express();

app.use(bodyParser.json({}));

app.post('*', function (req, res) {
    console.log(req.body);
    res.status(200).send('OK');
});


app.listen(9000);

提前感谢您的帮助。
2个回答

1
在您的$http调用中,使用data属性而不是body。
$http({
            url: baseUrl+"features/",
            method: "POST",
            data: ticket,
            headers: {'Content-Type': 'application/json'}})

@Varkal:没问题,如果回答有帮助,您可以接受该答案。 - Artem Petrosian

0

替换

self.postTicket = function(ticket){
    $http({
        url: baseUrl+"features/",
        method: "POST",
        body: ticket,
        headers: {'Content-Type': 'application/json'}})

使用

self.postTicket = function(ticket){
    $http({
        url: baseUrl+"features/",
        method: "POST",
        data: ticket,
        headers: {'Content-Type': 'application/json'}})

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接