Angular 500(内部服务器错误)角度删除api

Angular 500(内部服务器错误)角度删除api,angular,typescript,api,Angular,Typescript,Api,当我按下delete按钮调用delete函数时,我得到了500(内部服务器错误),我想从服务器中删除数据,它如何传递索引并删除todo >从'@angular/core'导入{Component,OnInit,Input}; >从'@angular/Router'导入{Router}; >从'@angular/forms'导入{FormBuilder,FormGroup,FormArray}; >从'@angular/forms'导入{Validators}; >从“../http.servi

当我按下delete按钮调用delete函数时,我得到了500(内部服务器错误),我想从服务器中删除数据,它如何传递索引并删除todo

>从'@angular/core'导入{Component,OnInit,Input};
>从'@angular/Router'导入{Router};
>从'@angular/forms'导入{FormBuilder,FormGroup,FormArray};
>从'@angular/forms'导入{Validators};
>从“../http.service”导入{HttpService};
> 
> 
> 
>@组件({
>选择器:“todo应用程序”,
>templateUrl:“./todo app.component.html”,
>样式URL:['./todo app.component.css']
>     })
>导出类TodoAppComponent实现OnInit{
> 
>myForm:FormGroup;
>todoitems=[];
>托多利斯特;
>提交=错误;
>姓名;
> 
>构造函数(专用路由器:路由器,专用formBuilder:formBuilder,专用httpService:httpService){
>       }
> 
>恩戈尼尼特(){
>this.myForm=this.formBuilder.group({
>todoitems:[this.todolist,Validators.compose([Validators.required,Validators.minLength(3)])
> 
>         });
>         
>此.httpService.gettodo()为.subscribe(
>(数据:任意[])=>{
>this.todoitems=数据;
>console.log(this.name);
>             }
>         );
>       
>     }
>       
> 
> 
>       
>       
> 
>addTodo(todolist){
>         
>if(this.myForm.invalid){
>this.submitted=true;
> 
>          
>        }
>if(this.myForm.valid){
>var body={name:this.todolist}
>this.httpService.addTodoo(body.subscribe)(
>(数据:任何)=>{
>this.todoitems=数据;
>控制台日志(数据);
>           }
>         )
> 
>这个.myForm.reset();
>this.submitted=false;
>console.log('formsubmitted!');
>console.log(this.todoitems);
>             
>       }     
> 
>       }
> 
>deletetodo(id:编号){
>this.httpService.deleteTodo(id).subscribe()
> 
>     }
> 
> 
> 
>     }
> 
> 
>//http.service
>删除TODO(id){
>返回此.http.delete('http://localhost:3000/api/names/=${id}')}
> 
> 
>
>
>     
> 
>         
> 
>             
>加
>                 
>                 
>请填写
>min 3
>                 
> 
>             
>         
>
> > > > >{{todoitem.name} > > >删除 > > > > > > > > >
>
500内部服务器错误
表示出现问题的是您的服务器,而不是您的应用程序


可能是您正在使用服务器不支持的Http方法调用端点,向其传递错误的信息,或者只是服务器上的方法存在错误。

尝试更新您的删除Http:

deleteTodo(id) {
    return this.http.delete(`http://localhost:3000/api/names/${id}`)  
}
您似乎使用了quote而不是评估
${id}

然后您的uri是
api/names/=${id}
<代码>=你的背部真的需要符号,还是仅仅是一个打字错误

然后在模板更新中:

 <button (click)="deletetodo(todoitem.id)">Delete</button>
删除

请添加您的httpService以获取帮助。您的问题可能会从后端通信。您是否尝试在不使用angular的情况下调用它?我已经从http.service文件中添加了delele函数,请检查编辑的代码@MartinChorainei我想发送我正在删除的项目的索引,我该怎么做@charlietflYou是对的。响应状态500表示在服务器端代码.app.delete('/api/names/:id',(req,res)=>{const index=names.indexOf(name);names.splice(index,1);res.send(names);});这是代码HttpErrorResponse{headers:HttpHeaders,status:500,statusText:“内部服务器错误”,url:,ok:false获取此errorapp.delete('/api/names/:id',(req,res)=>{const index=names.indexOf(name);names.splice(index,1);res.send(names);});这有错误吗?模板中有另一个问题。请检查编辑的anwser