Angular 角桩法参数

Angular 角桩法参数,angular,angular2-template,angular2-services,Angular,Angular2 Template,Angular2 Services,我目前正在使用angular 4来构建我的web应用程序。因为我是通过对webservices的rest调用来获取数据的,所以当我发布数据时,我想知道我是否可以用一个对象来更改主体表示(post方法中的第二个参数),这样指令就更容易了 updatePasswordWithObservable(userToAdd:User) { let headers = new Headers({ 'Content-Type': 'application/json' });

我目前正在使用angular 4来构建我的web应用程序。因为我是通过对webservices的rest调用来获取数据的,所以当我发布数据时,我想知道我是否可以用一个对象来更改主体表示(post方法中的第二个参数),这样指令就更容易了

 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": "souad122@gmail.com",
                              "enabled": true,
                              "lastName": "waaaa",
                              "login": "souad122@gmail.com",
                              "name": "souad12219",
                              "phone": ""
                            }
                          }
) .订阅( res=>{ 控制台日志(res); }, 错误=>{ console.log(“发生错误”); } );
}是的,您可以使用对象。不过,您需要首先将其转换为
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": "souad122@gmail.com",
                              "enabled": true,
                              "lastName": "waaaa",
                              "login": "souad122@gmail.com",
                              "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"); } ); 
}

您可以发布Json格式的数据,如下所示:

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);
  }
public loadApp():可观察{
常数数据={
'type':'ReadRequest',
“查询”:“获取”,
'parameters':{'app':'new'}
};
返回this.http.post(null,数据)
.map(res=>(res)。\u body==''?{}:res.json()
.接住(这个.把手错误);
}
private handleErrorObservable(错误:响应|任意){
返回可观察的.throw(error.message | | error);
}
私有句柄错误(错误:任意):承诺{
console.error('loadAuditories:',error);
返回承诺.拒绝(error.message | |'服务器错误:'+错误);
}

注意
常量数据
。这是最简单的对象JS。

我收到了此错误内容类型text/plain不受支持:/i我忘记了标题选项Accepy my answer please