【问题标题】:req.body.item undefined - DELETE request express jsreq.body.item undefined - 删除请求快递 js
【发布时间】:2018-03-04 22:49:39
【问题描述】:

我是 Web 开发的初学者,在向本地 REST API(使用 Express Js 编写)发送删除请求时无法检索参数。我已经用谷歌搜索了这个问题,但大多数都通过使用 body-parser 解决了。

当我返回并将 req.body 打印回控制台时,它会显示为:

{data: "{"Customer":"1"}"}

哪个看起来正确? 但是当我尝试检索时

req.body.Customer;

在 routes.js 文件中它显示为未定义。

我在这里遗漏了一些非常明显的东西吗?

JQuery 函数发出请求

function DeleteItem(){
    let data = {
        Customer: $customerId.text()
    }
    data = JSON.stringify(data);
    $.ajax({
        url: "http://localhost:3000/Customers",
        type: 'DELETE',
        data: {
            data
        },
        success: function(res) {
            console.log(res);
            BuildTable();
        },
        error: function(res) {
            console.log(res);
            alert(res);
        }
    });
}

Routes.js

var express = require("express");
var bodyParser = require("body-parser");
var app = express();

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));

var appRouter = function(app) {

app.delete("/Customers", function(req, res) {

    var customer = req.body.Customer;
    console.log(customer);
    res.send(req.body);

});

}

module.exports = appRouter;

【问题讨论】:

    标签: javascript jquery node.js ajax rest


    【解决方案1】:

    先删除data = JSON.stringify(data);这一行

    那么如果你需要客户,你应该写:

    req.body.data.Customer;
    

    或者您可以像这样更改您的请求:

    function DeleteItem(){
        let data = {
            Customer: $customerId.text()
        }
        $.ajax({
            url: "http://localhost:3000/Customers",
            type: 'DELETE',
            data: data,
            success: function(res) {
                console.log(res);
                BuildTable();
            },
            error: function(res) {
                console.log(res);
                alert(res);
            }
        });
    }
    

    现在您正在创建一个新的对象数据并将之前创建的对象分配给它。

    【讨论】:

      猜你喜欢
      • 2019-03-09
      • 2016-09-30
      • 1970-01-01
      • 2017-06-08
      • 2022-08-15
      • 2017-10-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-12
      相关资源
      最近更新 更多