Angular 2 post方法给出打字稿错误

时间:2019-07-19 06:13:15

标签: angular typescript api angular-services

我正在使用Angular 2,并且通过服务与API进行交互。
我有一种方法要用于发布到API中。

  

src / app / application / users / create-new-user / create-new-user.component.ts(146,5)中的错误:错误TS2554:预期参数为0,但得到1。

coalesce()

appservice.ts

select coalesce(secondname ,fathername) from tablename

2 个答案:

答案 0 :(得分:1)

在代码中提到了许多错误。我会根据相关性指出它们。 1.传递的参数必须在createUser函数中定义。 2.您仅设置标头,而没有在POST请求中传递任何数据,这是您的主要目的。 3.您不能返回response.data,而只能返回POST方法的输出,因为createUser的返回类型是Observable。

所以编写代码的正确方法必须是:

createUser(data:any): Observable {

const headers = new HttpHeaders().set('security-token', localStorage.getItem('loginToken'));

return this.http.post(this.basePath + '/user-groups', data, {headers: headers}) }

答案 1 :(得分:0)

尝试这样:

user.ts

  submitData() {

    var submitData =
    {
      first_name: formData.firstName,
      last_name: formData.lastName,
      email: formData.email,
      password: formData.password,
      address_1: formData.address1,
      address_2: formData.address2,
    }
    this.appService.createUser(submitData).subscribe((result: any) => {
      if (result != '') {
        console.log(result)
      }
    })
  }

appservice.ts

 createUser(): Observable<any> {


    let headers = new HttpHeaders();
    headers = headers.set('security-token', localStorage.getItem('loginToken'));

    return this.http.post(this.basePath + '/user-groups', { headers })
  }