nodejs中的req.body将变为空:{}?

时间:2017-03-22 11:42:04

标签: angularjs node.js

这是我的有角度的http请求,它在调用deleteEmployee函数时发出删除请求: 点击事件后调用此函数:

$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)上,它显示为空,即{}。

2 个答案:

答案 0 :(得分:3)

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

  

DELETE请求消息中的有效负载没有定义的语义;在DELETE请求上发送有效负载主体可能会导致某些现有实现拒绝该请求。

基本上,DELETE请求必须没有正文。

答案 1 :(得分:0)

尝试更改语法:

private void buttonInputAccept_Click(object sender, EventArgs e)
    {
        string text = richTextBoxInput.Text;
        Program.MainForm.OutputText = text;            
        this.Close();
    }