Angular 2 post方法给出了类型脚本错误
我正在使用Angular 2,通过服务与API交互。Angular 2 post方法给出了类型脚本错误,angular,typescript,api,angular-services,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个 appservice.ts createUser(): Observable<any> { const headers = new HttpHeaders() .set('se
我有一个方法,我想用它发布到API中 src/app/application/users/create new user/create new user.component.ts(146,5)中出错:错误TS2554:应为0个参数,但得到1个 appservice.ts
createUser(): Observable<any> {
const headers = new HttpHeaders()
.set('security-token', localStorage.getItem('loginToken'));
return this.http.post<any>(this.basePath + '/user-groups', { headers })
.pipe(
map((response => {
return response.data;
}))
createUser(data:any): Observable<any> {
let headers = new HttpHeaders();
headers = headers.set('security-token', localStorage.getItem('loginToken'));
return this.http.post(this.basePath + '/user-groups', data, { headers })
}
createUser():可观察{
const headers=新的HttpHeaders()
.set('security-token',localStorage.getItem('loginToken');
返回this.http.post(this.basePath+/user groups',{headers})
.烟斗(
映射((响应=>{
返回响应数据;
}))
上述代码中有许多错误。我将根据相关性指出它们。
1.传递的参数必须在createUser函数中定义。
2.在POST请求中,您只设置头,不传递任何数据,这是您的主要目的。
3.不能返回response.data,而只返回POST方法的输出,因为createUser的返回类型是可观察的
因此,编写代码的正确方法必须是:
createUser(数据:任意):可观察{
const headers=new HttpHeaders().set('security-token',localStorage.getItem('loginToken')
返回this.http.post(this.basePath+/user groups',data,{headers:headers})
}
试着这样做:
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> {
const headers = new HttpHeaders()
.set('security-token', localStorage.getItem('loginToken'));
return this.http.post<any>(this.basePath + '/user-groups', { headers })
.pipe(
map((response => {
return response.data;
}))
createUser(data:any): Observable<any> {
let headers = new HttpHeaders();
headers = headers.set('security-token', localStorage.getItem('loginToken'));
return this.http.post(this.basePath + '/user-groups', data, { headers })
}
createUser(数据:任意):可观察{
let headers=新的HttpHeaders();
headers=headers.set('security-token',localStorage.getItem('loginToken');
返回this.http.post(this.basePath+/user groups',data,{headers})
}
添加一些代码,以便社区可以帮助您添加一些代码。您的服务可能需要一些参数,但您在呼叫时没有提供这些参数。根据您目前提供的信息,您在代码中的某个地方给了一个不接受任何参数的方法一个参数。@AdritaSharma可以吗help@AmeerPappay我使用参数