ajax - 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
请帮我解决这个问题。
解决方案
我认为问题出在:
body: JSON.stringify({ name: name.value })
你应该在这里传递一个对象而不是一个字符串。
或使用
data: {name: name.value}
推荐阅读
- python - 按条件删除行并在熊猫数据框中填写新列
- java - blpop 使用 spring-data-redis 使用 redis3 装死
- angular - 将选定的树视图元素保留在屏幕上(如 Windows 资源管理器)
- c# - 更改完成后重新初始化gridview的状态
- java - Tomcat重启后Tomcat MYSQL连接仍然存在
- push - 服务返回失败。错误信息是 Server certificate is invalid
- r - 我如何在 GRETL 和 R 中以相同的准确度进行预测
- ios - iOS 上的 Ionic 4 标签栏 PWA
- excel - Excel VBA加速代码隐藏行/删除颜色
- scala - Scala,使用Java接口实现OSGI服务时的VerifyError