javascript - 无法使用 AngularJS 将对象传递到 Web 后端

标签 javascript angularjs node.js mongodb

标题说明了一切。我对此很陌生,所以我确信这一定是一个简单的错误。 这是 Controller

    $scope.removeProduct = function(product){
console.log(product._id);
    var inData = new Object();
    inData._id = product._id;
    console.log(inData);
    $http({ url:"/api/deleteprod/", inData, method: "POST"
            }).then(function () {
                        console.log("got here");
                        var index = $scope.vehicles.indexOf(product);
                        $scope.vehicles.splice(index, 1);

            })


};

这是服务器端。

module.exports = function(app, mongoose, config) {

    app.post('/api/deleteprod', function(req, res){
                    console.log("in app post",req);
    var MongoClient = mongodb.MongoClient;
    var url='mongodb://localhost:27017/seedsdev';
});
};

显然我想要的是将 _id 传递到服务器,以便我可以使用它,但是当我输出 req 时,它大约有 50 页长,并且没有我想要的信息。在它通过之前,可以通过 console.log 看到该对象没有问题。

我犯的菜鸟错误是什么?

最佳答案

调用 $http 时,您可以使用 data 属性传递 post 数据。当前您正在传递 inData 属性。更改为:

$http({ url:"/api/deleteprod/", data: inData, method: "POST" }).then(...)

更新:

在服务器端,您需要确保有一个 JSON 解析中间件,例如 body-parser 中的中间件:

app.use(require('body-parser').json())

使用 body-parser 解析正文后,您将拥有一个包含已解析 JSON 的 req.body 属性。

关于javascript - 无法使用 AngularJS 将对象传递到 Web 后端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41530509/

相关文章:

javascript - Node.js 服务器发送事件 - 何时使用 response.flushHeaders() 与 response.writeHead()

javascript - 具有 Angular JS 客户端的 Rails REST API 权限 (CanCan)。如何根据权限渲染UI?

javascript - 如何使用 'contenteditable'属性向div添加按键事件

javascript - CKEDITOR 在销毁之前检查 Dirty

angularjs - 迁移到 Angular2 : How to use injected AngularJS dependencies

javascript - 在带有express和mysql的nodejs中未定义 session

javascript - 在 Node.JS 中禁用日志记录

javascript - 如何恢复 jeditable 功能?

javascript - ngRepeat 在另一个中继器值的数组上

css - 目标选择器不起作用