首页 > 解决方案 > 角度发布请求参数未正确传递

问题描述

我正在尝试在 Angular 中进行发布请求。我需要将模型作为参数传递,但是出现错误。

这是我的代码

模型

  protected initModel() {
    this.model = {
      basics: null,
      retirements: null,
      risk: null,
      users: null
    };
  }

为模型赋值的函数

  saveTemp( args: { tabName: string, tabModel: any } ) {
    switch (args.tabName) {
      case 'basics': {
        this.model.basics = args.tabModel;
        // console.log(this.model.basics);
        break;
      }
      case 'retirement': {
        this.model.retirements = args.tabModel;
        break;
      }
      case 'risk': {
        this.model.risk = args.tabModel;
        break;
      }
      case 'users': {
        this.model.users = args.tabModel;
        break;
      }
      default: {
        break;
      }
    }
  }

发布请求

const token = localStorage.getItem('token');
const headers = new HttpHeaders()
  .set('Authorization', `Bearer ${token}`)
  .set('Content-Type', 'application/json');
const options = { headers: headers };
this.http.post('https://localhost:44345/api/Corporates/Create', this.saveTemp( args: { basic, this.model.basics } ), options)
.subscribe(data => {
  console.log(data);
})

错误是我传递带有参数的 saveTemp 函数是发布请求“预期 1 个参数,但得到 2 个”。

在此处输入图像描述

标签: angular

解决方案


另一种发送模型的方法

apiUrl:string="";
getLoggedInUser(model:any): Observable<any> {
  const headers = new HttpHeaders({
    'Content-Type': 'application/json',
    'Authorization': 'Bearer token'
  })
  return this.http.post<any>(this.apiUrl,model,{headers:headers})
}

推荐阅读