2017-02-03 204 views
-1

我已學習角2服務,我試圖用this.http.delete方法如下節點服務器端沒有從this.http.delete

posts.component.ts發送信息獲取數據FILE

userdeletion(email){ 

    let user = { 
     email: email, 
    }; 

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

posts.service.ts FILE

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

,當我去我的小號有一方面,我沒有收到任何數據。有人可以解釋我,什麼我在我的服務做錯了

回答

1

你應該在第二個參數被髮送user對象內部bodyRequestOptions對象的選擇http.delete

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

我可以知道背後downvote的原因嗎? –

+0

謝謝,它工作完美。我必須爲'this.http.put'使用RequestOptions嗎? – cacev000

+0

@ cacev000是的,你必須,但方法是'patch' /'put'方法 –

0

「deleteUser」是一個對象,你需要通過它與JSON.stringify:

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