我正在尝试将更新后的用户详细信息表单数据发送到基于Angular 2中的Node服务器的后端。但是,我无法发送表单数据,服务器响应状态为500。在AngularJS中,我做过类似这样的事情,
服务文件。
update: {
method: 'POST',
params: {
dest1: 'update'
},
transformRequest: angular.identity,
'headers': {
'Content-Type': undefined
}
}
在控制器中使用
var fd = new FormData();
var user = {
_id: StorageFactory.getUserDetail()._id,
loc: locDetails
};
fd.append('user', angular.toJson(user));
UserService.update(fd).
$promise.then(
function(value) {
console.info(value);
updateUserDetailsInStorage();
},
function(err) {
console.error(err);
}
);
我无法在Angular 2中找到angular.toJson、angular.identity和transformrequest功能,因此无法弄清楚如何实现这一点, 到目前为止,我在Angular 2中已经完成了以下操作:
let fd = new FormData();
let user = {
_id: this.appManager.getUserDetail()._id,
loc: locDetails
};
fd.append('user', JSON.stringify(user));
this.userService.update(fd).subscribe((value) => {
console.log(value);
this.updateUserDetailsInStorage();
}, (err) => {
console.error(err);
});
HTTP 服务文件
update(body) {
console.log('update', body);
const headers = new Headers({
'Content-Type': undefined
});
const options = new RequestOptions({
headers: headers
});
return this.http.post(`${app.DOMAIN}` + 'user/update', body, options)
.map((res: Response) => {
res.json();
}).do(data => {
console.log('response', data);
})
}
我已经阅读了很多帖子并尝试了一些方法,但迄今为止都没有成功。有人可以建议我如何做吗?