【问题标题】:Node Server side does not get data from this.http.deleteNode Server 端没有从 this.http.delete 获取数据
【发布时间】:2017-02-04 01:06:52
【问题描述】:

我一直在学习 angular 2 的服务,我正在尝试使用 this.http.delete 方法发送信息,如下所示

posts.component.ts 文件

userdeletion(email){

    let user = {
      email: email,
    };

    this.postsService.deletePosts(user).subscribe(
      posts => {
        return true;
      },
      error => {
        console.error("Error deleting user!");
      }
    )
  }

posts.service.ts 文件

  deletePosts(deleteUser) {
    return this.http.delete('/api/posts/', deleteUser)
      .map(res => res.json());
  }

当我转到服务器端时,我没有得到任何数据。有人可以解释一下,我在服务中做错了什么

【问题讨论】:

    标签: node.js angular express


    【解决方案1】:

    您应该在http.delete 的第二个参数中的RequestOptions 对象的body 选项中发送user 对象

    deletePosts(deleteUser) {
        return this.http.delete('/api/posts/', new RequestOptions({
             body: deleteUser
          }))
         .map(res => res.json());
    }
    

    【讨论】:

    • 谢谢,它运行良好。我必须为this.http.put 使用 RequestOptions 吗?
    • @cacev000 是的,你必须这样做,但方法是 patch/put 方法
    【解决方案2】:

    "deleteUser" 是一个对象,你需要用 JSON.stringify 传递它:

    deletePosts(deleteUser) {
        return this.http.delete('/api/posts/', JSON.stringify(deleteUser))
          .map(res => res.json());
      }
    

    【讨论】:

      猜你喜欢
      • 2021-07-01
      • 1970-01-01
      • 2023-01-12
      • 2018-02-11
      • 2020-05-29
      • 2015-12-27
      • 1970-01-01
      • 2019-09-29
      • 1970-01-01
      相关资源
      最近更新 更多