我发送form-data
以及image-data
。
但是在FormData
内发送时,我无法在节点服务器上获取数据。
我可以在angular
上的console.log
控制器上看到数据。
角度代码:
$scope.saveInfo = function(){
var formData = new FormData;
console.log('Update function');
for(key in $scope.seller){
formData.append(key, $scope.seller[key]);
}
console.log(key, $scope.seller);
var file = $('#file')[0].files[0];
formData.append('image', file);
$http.put('/api/seller/businessInformation', formData, {
transformRequest: angular.Identity,
headers: {
'Content-type': undefined
}
}).then(function(res){
});
}
Node.js的:
我可以在console.log(req.files);
上看到图像数据
但console.log(req.body);
打印[对象对象]。
答案 0 :(得分:6)
The best way to tackle this issue is
(i) JSON.stirngify(req.body)
in your code.
(ii) See what is the data getting printed, then based on the output you can use req.body.whateverField
EDIT
You can access FormData as,
console.log(req.files.file.name);
and to access FormData you can use
var a = JSON.parse(req.body.name);
console.log(a);
答案 1 :(得分:0)
req.body
是一个对象。如果您的表单数据包含名称和年龄。那么您可以在节点中获取这些值,如下所示
req.body.name
req.body.age
答案 2 :(得分:-4)
问题在于ng-model数据绑定
我绑定了这样的数据:'seller.a.b.c'
相反,我做了seller.a
并且它有效。