2017-08-13 86 views
0

我正在發佈表單數據。

前端是角度Js。
Iam能夠從前端發佈數據,因爲我登錄角度控制檯,它顯示所有數據。

但是,當沒有節點JS服務器上CONSOLE.LOG,然後我得到陣列領域[目標對象]
非數組字段即對象來了是正確的。

無法將數組數據發佈到使用節點js,angular和mongoDb

型號:

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} 
     }] 
    } 
    ])} 


角碼

$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); 
} 

爲什麼出現這種情況,我在做什麼錯?
請幫忙。

+1

您是否在發佈之前使用JSON.stringify()數據,而JSON.parse()之後?如果不是,你如何發佈數據,以及如何解析它的服務器端? –

+0

不,我在發佈數據之前不使用JSON.stringify()。我簡單地發佈'$ scope.product'到我的API –

+0

我已經更新了我的角碼在問題中。 –

回答

0

在NodeJS中,console.log和console.dir只會在顯示對象時顯示2級深度(您會看到[Object]而不是嵌套對象的實際內容)。如果你想看到完整的對象,你可以stringify或使用util.inspect函數

+0

好,那我該怎麼辦? –

+0

我使用了'console.log(util.inspect(req.body));',仍然有'productStock'作爲** [object object] ** –

+0

試試這個util.inspect(req.body,{depth:null} ) –

相關問題