【发布时间】: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。将数据从服务器发送到客户端工作得很好......
有什么建议吗?
【问题讨论】:
-
我假设您使用的是 Express。你安装
body-parser了吗?用法示例见stackoverflow.com/a/24635296/965834。 -
@Jeto 是的,我明白了。我有这个:
const bodyParser = require("body-parser");和app.use(bodyParser.json()); -
您确定在定义路线之前这样做了吗?
-
@Jeto 是的,我确定...我将代码上传到 gitlab:gitlab.com/JaroslavVond/nodejs/tree/master/NodeServer
标签: javascript node.js ajax express