2017-03-22 47 views
0

這是我的角度HTTP請求,這使得當deleteEmployee函數被調用的刪除請求: 這個函數被調用事件的點擊:nodejs中的req.body將變空:{}?

$scope.deleteEmployee=function(index){ 
     $http({ 

      method:'DELETE', 
      url:'/delete', 
      data:{ 

      "ndx":"abc" 

      } 


     }).then((response)=>{ 
      console.log(response); 
     }) 
    } 

這是我server.js文件

var http=require('http'); 
var express = require('express'); 
var bodyParser = require('body-parser'); 
var app = express(); 
app.use(bodyParser.urlencoded({ extended: false })); 

app.use(bodyParser.json()); 


app.use('/',express.static(__dirname)); 

app.delete('/delete',function(req,res){ 

    console.log(req.body); 

}) 

app.listen(8888,()=>{ 
    console.log('Server Started'); 
}) 

在console.log(req.body)上顯示爲空即{}。

回答

3

https://tools.ietf.org/html/rfc7231#section-4.3.5

一個DELETE請求消息內的有效載荷不具有確定的語義;發送DELETE請求上的有效內容主體可能會導致一些現有的實現拒絕請求。

基本上,DELETE請求不能有正文。

+0

......這就意味着:要刪除的資源需要由URI本身標識,即'/ delete/ndx/abc' – devnull69

+0

感謝sp00m。有效。 –

0

嘗試改變的語法:

$http.delete('/delete',{"ndx":"abc"}); 
+0

沒有。這是一樣的。不起作用 –