角度删除请求无效

时间:2018-02-28 09:54:13

标签: angular http-delete

如果你能帮我解决这个问题,我不知道为什么没有工作......

我使用asp.net mvc作为我的后端使用angular 4,使用postman,我的删除请求有效,但是在角度方面,我无法弄清楚为什么不是&n #39; t,没有错误...

我正在构建小角度crud应用程序并试图从我填充的表格中的同一行获取用户ID ...

我的控制台或编译器中没有任何错误,但是当我点击一个触发我的组件中的删除功能的按钮时,似乎没有发生任何事情...... 这是代码

 export class user{
 Id: string;
 Name: string;
 }

在我的服务中,我有一个正常运行的get和post方法,但删除不起作用,代码:

    deleteUser(id: string) {
    let headers = new Headers({ 'Content-Type': 'application/json' });
    let options = new RequestOptions({ headers: headers });
    return this.http.delete('http://localhost:48622/user/' + id, options)
        .map(res => res.json());

    }

在我的component.ts

   userlist: user[];

   DeleteUser(id: string) {
    if (confirm('Are you sure to delete this record ?') == true) {
        this._usermanagementservice.deleteUser(id)
            .subscribe(x => {
          //this populates table with names, function is working, not sure should I call it this way so my table can be updated?
                this.LoadAllUsers();
            })
      }
    }

在我的app.component.html中,我认为是主要问题..

注意我只想在同一行显示带删除按钮的用户名...

      <table style="width:100%" class="table table-striped" 
      id="billing_history_table">
      <thead class="head">
        <tr>
            <th>User Name</th>

            <th></th>

        </tr>
        </thead>
        <tbody>
        <tr *ngFor="let u of userlist">
            <td>{{u.Name}}</td>
             <td><a (click)="DeleteUser(e.id)"><span class="glyphicon 
         glyphicon-trash"></span></a></td>
        </tr>
          </tbody>
      </table>

3 个答案:

答案 0 :(得分:0)

DeleteUser(e.id)

进行拼写错误更改DeleteUser(u.Id)

这就是它的样子

 <table style="width:100%" class="table table-striped" 
  id="billing_history_table">
  <thead class="head">
    <tr>
        <th>User Name</th>

        <th></th>

    </tr>
    </thead>
    <tbody>
    <tr *ngFor="let user of userlist">
        <td>{{user.Name}}</td>
         <td><a (click)="DeleteUser(user.Id)"><span class="glyphicon 
     glyphicon-trash"></span></a></td>
    </tr>
      </tbody>
  </table>

尝试给变量赋予正确的名称,这样可以轻松调试

答案 1 :(得分:0)

您的代码是否应该阅读

b

注意:u.Id而不是e.id

您能否确认将正确的ID传递给您的API

答案 2 :(得分:0)

问题是,在我的数据库中,列名为userId而不是id,所以当我在我的html DeleteUser(u.id)中更改为DeleteUser(u.userId)时,它工作正常!