如何在axios PUT请求中传递参数?

时间:2018-10-06 14:37:50

标签: axios loopbackjs put

axios.put('http://localhost:3000/api/userDatas/findUserAddProp',{
    params: {
        userId: "5bb8c3bd16bf1f515ce5b42f",
        prop: "questions",
        questionId: "5bb8c466cb49d8421c05eeda"
    }
});

服务器

Userdatas.findUserAddProp = function(req, res, cb) {
    const queryId = req.query.userId;
    const propToUpdate = req.query.prop;
    const questionId = req.query.questionId;

    console.log("queryId: ", queryId);
    console.log("propToUpdate: ", propToUpdate);
    console.log("questionId: ", questionId);
    ...
}

这是控制台上的服务器输出。

queryId:  undefined
propToUpdate:  undefined
questionId:  undefined

为什么会发生这种情况,我只是将所有参数传递给服务器了?

2 个答案:

答案 0 :(得分:0)

您尝试过

req.params.userId

req.param 用于读取/user/:id之类的Url参数,而 req.query 用于读取http:localhost:8080/api/users?id=123之类的查询参数

答案 1 :(得分:0)

put方法需要一个额外的参数“ data”(在请求正文中发送):

axios.put(url[, data[, config]])

将其传递为null即可完成:

axios.put('http://localhost:3000/api/userDatas/findUserAddProp', **null,** {
...