【问题标题】:Can't get JSON data from client side无法从客户端获取 JSON 数据
【发布时间】:2019-07-10 09:54:12
【问题描述】:

我想将 JSON 数据从客户端发送到服务器端。

客户端:

function send() {
    var formData = {
        firstname: $("#name").val(),
        lastname: $("#lastname").val()
    }

    console.log("sending: " + JSON.stringify(formData));

    $.ajax({
        type: "POST",
        contentType: "application/json",
        url: "/dat",
        data: JSON.stringify(formData),
        dataType: 'json',
        success: function(customer) {
            console.log(JSON.stringify(customer));
        },
        error: function(e) {
            alert("Error!")
            console.log("ERROR: ", e);
        }
    });
}

服务器端:

app.post("/dat", function (req, res) {
    console.log(JSON.stringify(req.body)); // return undefined
    res.end(JSON.stringify({ "nine": 9, "ten": 10, "eleven": 11 }));
});

我什么都试过了,但JSON.stringify(req.body) 只返回undefined。将数据从服务器发送到客户端工作得很好...... 有什么建议吗?

【问题讨论】:

标签: javascript node.js ajax express


【解决方案1】:

您正在重置 app here 与:

var app = express();

删除该行。

【讨论】:

  • 是的,这就是问题所在,非常感谢!!
  • 如果我做对了......每次我做POST时,服务器都会重新启动或设置一些默认设置?
  • @KoRaPCZ 更像是,在那一行之前发生的所有事情都被取消了,因为你用一个全新的变量替换了现有的 app 变量。 session 的东西,body-parser 设置等。
  • 我明白了。感谢您的帮助
猜你喜欢
  • 1970-01-01
  • 2014-04-13
  • 1970-01-01
  • 2017-03-24
  • 2016-03-16
  • 2016-05-20
  • 1970-01-01
  • 1970-01-01
  • 2017-11-06
相关资源
最近更新 更多