【发布时间】: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 -
我在问题中更新了我的角度代码。