角度发布方法参数
问题描述:
我目前正在使用角度4来构建我的web应用程序。在那里,我通过对web服务的其余调用来获取数据,当我发布数据时我想知道是否可以更改主体表示(第二个参数在后期的方法)与对象,所以说明会更容易。角度发布方法参数
updatePasswordWithObservable(userToAdd:User) {
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
this.http.post(this.updatePwdUrl,
{
"internalId": 0,
"oldPwd": "",
"pwd": "123",
"reset": true,
"userEntry": {
"activeNotifications": true,
"aspects": [
{
"aspectName": "string",
"internalId": 0
}
],
"email": "[email protected]",
"enabled": true,
"lastName": "waaaa",
"login": "[email protected]",
"name": "souad12219",
"phone": ""
}
}
) .subscribe( 解析度=> { 的console.log(RES); }, ERR => { 的console.log( “发生错误”);} ); }
答
可以JSON格式的POST数据,如为:
public loadApp(): Observable<any> {
const data = {
'type' : 'ReadRequest',
'query' : 'get',
'parameters' : { 'app' : 'new' }
};
return this.http.post(null, data)
.map(res => (<any>res)._body === '' ? {} : res.json())
.catch(this.handleError);
}
private handleErrorObservable(error: Response | any) {
return Observable.throw(error.message || error);
}
private handleError(error: any): Promise<any> {
console.error('loadAuditories: ', error);
return Promise.reject(error.message || 'Server error: ' + error);
}
注重对const data
。这是最简单的对象JS。
答
是的,你可以使用一个对象。不过,您需要先将其转换为JSON
。您可以使用JSON.stringify
这样做:
updatePasswordWithObservable(userToAdd:User) {
let data = JSON.stringify({
"internalId": 0,
"oldPwd": "",
"pwd": "123",
"reset": true,
"userEntry": {
"activeNotifications": true,
"aspects": [
{
"aspectName": "string",
"internalId": 0
}
],
"email": "[email protected]",
"enabled": true,
"lastName": "waaaa",
"login": "[email protected]",
"name": "souad12219",
"phone": ""
}
});
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
this.http.post(this.updatePwdUrl, data)
.subscribe(res => { console.log(res); }, err => { console.log("Error occured"); });
}
+0
我收到此错误内容类型text/plain不支持:/ – fbm
我忘了标题选项 – fbm
请接受我的回答 – OPV
已接受 – fbm