【问题标题】:Unable to post array-data to using node js, angular, and mongoDb无法将数组数据发布到使用节点 js、角度和 mongoDb
【发布时间】:2017-08-13 22:00:47
【问题描述】:

我正在发布表单数据。

前端是 Angular Js。
我能够从前端发布数据,因为我登录了角度控制台,它显示了所有数据。

但是什么时候 console.log 在节点 js 服务器上,然后我将数组字段作为 [object object]
非数组字段,即 Objects 是正确的。

型号:

var productsSchema = new Schema({
   productName: {type: String, required: false},
    productDescription: {type: String, required: false},
 productStock: [
    {
        size: {type: Number, required: false},
        price: {type: Number, required: false},
        imagePaths: [{
            image1:{type: String, required: false},
            image2:{type: String, required: false},
            image3:{type: String, required: false},
            image4:{type: String, required: false}
        }]
    }
    ])}


Angular 代码

$scope.product = {};
    $scope.newProduct = function(){
      var formData = new FormData;
      for(key in $scope.product){
        formData.append(key, $scope.product[key]);
      } 
  //getting the files
  var file = $('#file')[0].files[0];
  formData.append('image', file);
  //formData.append('product',$scope.product);
  //Post data
  $http.post('http://localhost:3000/products/api/new-product',formData,{
    transformRequest: angular.identity,
    headers: {'Content-Type': undefined}
  }).then(function(res){
    $scope.item = res.data;
  });
  console.log($scope.product);
  //console.log(file.name);
}

为什么会发生这种情况,我做错了什么?
请帮忙。

【问题讨论】:

  • 您是在发布之前对数据使用 JSON.stringify(),之后是使用 JSON.parse() 吗?如果没有,您如何发布数据,以及如何在服务器端解析它?
  • 不是,我在发布数据之前没有使用 JSON.stringify()。我只是将$scope.product 发布到我的 API
  • 我在问题中更新了我的角度代码。

标签: angularjs node.js mongodb


【解决方案1】:

在 NodeJS 中,console.log 和 console.dir 在显示对象时只会深入 2 层(您会看到 [Object] 而不是嵌套对象的实际内容)。如果您想查看完整对象,您可以字符串化或使用 util.inspect 函数

【讨论】:

  • 我用console.log(util.inspect(req.body));,仍然得到productStock作为[object object]
  • 试试这个 util.inspect(req.body, {depth: null})
  • 做了console.log(util.inspect(req.body, {depth: null}));,仍然得到productStock作为[object object]
  • console.log(JSON.stringify(req.body)); ?
猜你喜欢
  • 2019-01-26
  • 1970-01-01
  • 2018-06-02
  • 1970-01-01
  • 2018-02-09
  • 1970-01-01
  • 2016-05-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多