我正在努力在我的快递路由器中访问序列化formdata的特定字段。
这是我的ajax请求:
var formData = $("#add-fut-account-form").find("select, textarea, input").serialize();
$.ajax({
url: "/accounts/insert",
type: "POST",
data: {formData},
success: function (response) {
$("#addFutAccountResponse").append(response);
},
error: function (xhr) {
alert("Error while trying to insert a new account!");
}
})
这是我的路由器:
router.post('/insert', function(req, res)
{
var formData = req.body.formData;
console.log(formData);
});
我的console.log()输出:
电子邮件= kentor%40gmail.com&安培;密码= dsadsa&安培;秘密= 123&安培;平台= P&安培;帐户型= X&安培;代理=安培; RPM = 8&安培;阈值= 3.5&安培;可选注释=安培;是 - 上活性=
我的问题:
我应该如何序列化/发送/接收我的formData,以便我可以从表单轻松访问特定字段(如电子邮件,密码)。我尝试使用不起作用的req.body.formData.email
(结果:未定义)。我知道如何解决这个问题的两种可能方法,但它们似乎是一种迂回的方式。因此,我想知道使用express处理formdata的最佳做法是什么。
修改:我已在app.js中使用bodyParse:
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
答案 0 :(得分:1)
尝试按如下方式制作ajax:
var formData = $("#add-fut-account-form").find("select, textarea, input").serialize();
$.ajax({
url: "/accounts/insert",
type: "POST",
data: formData,
success: function (response) {
$("#addFutAccountResponse").append(response);
},
error: function (xhr) {
alert("Error while trying to insert a new account!");
}
})
删除数据上的花括号