无法获取从 angular 发送到节点服务器的表单数据
Not able to get form-data sent from angular to node server
我正在发送 form-data
和 image-data
。
但是在 FormData
.
内部发送时,我无法在节点服务器上获取数据
我可以在 console.log
.
上看到 angular
控制器上的数据
angular代码:
$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);
打印出 [object object].
req.body
是一个对象。如果您的表单数据包含姓名和年龄。然后你可以在节点中获取这些值,如下所示
req.body.name
req.body.age
解决这个问题的最佳方法是
(i) JSON.stirngify(req.body)
在您的代码中。
(ii) 查看打印的数据是什么,然后根据输出可以使用 req.body.whateverField
编辑
您可以访问 FormData 作为,
console.log(req.files.file.name);
要访问 FormData,您可以使用
var a = JSON.parse(req.body.name);
console.log(a);
问题出在 ng-model 数据绑定上。
我是这样绑定数据的:'seller.a.b.c'
相反,我做了 seller.a
并且它起作用了。
我正在发送 form-data
和 image-data
。
但是在 FormData
.
内部发送时,我无法在节点服务器上获取数据
我可以在 console.log
.
angular
控制器上的数据
angular代码:
$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);
打印出 [object object].
req.body
是一个对象。如果您的表单数据包含姓名和年龄。然后你可以在节点中获取这些值,如下所示
req.body.name
req.body.age
解决这个问题的最佳方法是
(i) JSON.stirngify(req.body)
在您的代码中。
(ii) 查看打印的数据是什么,然后根据输出可以使用 req.body.whateverField
编辑
您可以访问 FormData 作为,
console.log(req.files.file.name);
要访问 FormData,您可以使用
var a = JSON.parse(req.body.name);
console.log(a);
问题出在 ng-model 数据绑定上。
我是这样绑定数据的:'seller.a.b.c'
相反,我做了 seller.a
并且它起作用了。