【问题标题】:How to pass params in axios PUT request?如何在 axios PUT 请求中传递参数?
【发布时间】:2018-10-06 14:37:49
【问题描述】:
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

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

【问题讨论】:

  • 请查看console.log(req.body)
  • 问题解决了吗?

标签: axios loopbackjs put


【解决方案1】:

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

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

将它作为 null 传递,你就完成了:

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

【讨论】:

    【解决方案2】:

    你试过了吗

    req.params.userId
    

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

    【讨论】:

    • 谢谢@SaqibHussain。我认为你的解释和你的建议是矛盾的。
    • 你能分享一下你是如何在服务器端处理这个请求的吗?
    猜你喜欢
    • 1970-01-01
    • 2021-12-19
    • 1970-01-01
    • 2021-10-13
    • 2019-10-17
    • 2019-05-20
    • 2022-12-21
    • 2018-05-14
    • 2021-08-15
    相关资源
    最近更新 更多