Mithriljs请求主体始终为空对象

时间:2019-07-16 13:04:33

标签: ajax mithril.js

我这样使用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中可能是我错了 请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

我认为问题出在

body: JSON.stringify({ name: name.value })

您应该在此处传递对象而不是字符串。

或使用

data: {name: name.value}