我这样使用mithriljs请求:
submit = e => {
e.preventDefault();
const { name } = e.target;
console.log({ name: name.value });
m.request({
method: "POST",
url: "/api/v1/vendor/type",
body: JSON.stringify({ name: name.value }),
headers: {
"Content-Type": "application/json",
Accept: "application/json"
}
}).then(function(result) {
console.log(result);
const { isSuccess, msg } = result;
if (isSuccess) {
alert(`Tipe Vendor ${name} berhasil di tambahkan.`);
m.route.set("/master/vendor/tipe");
} else {
alert(`Gagal : ${msg}`);
}
});
};
和服务器:
const jsonParser = bodyParser.json()
app.route("/api/v1/vendor/type")
.post(jsonParser,(req, res) => {
console.log(req.body);
const { name } = req.body;
if (!name) res.send({ isSuccess: false, msg : 'Name is Required' });
else {
name = name.trim();
VendorType.create({ name }).then(result => {
console.log(
`New Vendor Type created ${name} for : ${result.id}`
);
res.json({ isSuccess: true, data: { id: result.id } });
});
}
});
但console.log(req.body);
返回{}
当我使用邮递员时,它可以工作。
在m.request
中可能是我错了
请帮我解决这个问题。
答案 0 :(得分:0)
我认为问题出在
body: JSON.stringify({ name: name.value })
您应该在此处传递对象而不是字符串。
或使用
data: {name: name.value}