【问题标题】:Can I skip query parameters?我可以跳过查询参数吗?
【发布时间】:2021-03-30 00:23:46
【问题描述】:

我正在尝试使用 3 个查询参数进行发布请求:

axios.post(`http://localhost:4000/items?q1=val1&q2=val2&q3=val3)

但是,我的问题是有没有办法跳过查询值?如果我不想输入 q3 的值,我该如何实现呢?

在 post 控制器中,该值是从查询中获取的,这样查询的数量就无关紧要了。如果我手动从请求中添加或删除查询,它工作正常,但我想知道是否有另一种方法可以做到这一点,因为我从表单输入我的值,如果其中一个输入留空,我还能做吗跳过该查询的发布请求?

【问题讨论】:

    标签: javascript reactjs mongodb post axios


    【解决方案1】:

    在您的节点脚本中,您可以使用此代码以动态方式获取所有查询:

    let queryObject = request.get();
    

    通过这种方式,您将在此对象中拥有所有查询字符串参数,您可以使用它来执行您的逻辑,例如:如果我们有第一个参数而不是第二个参数,则如果我们有第二个参数而不是第二个参数,则执行某些操作先做其他事情:

    if(!!queryObject.q1 && !queryOnject.q2){
       //do something
    }
    else if(!queryObject.q1 && !!queryOnject.q2){
       //do something
    }
    else if(!!queryObject.q3){
       //do something
    }
    else {
        response.status(400).send("bad request");
    }
    

    【讨论】:

      【解决方案2】:

      你们的服务器框架/技术是什么?

      在 NodeJS 中,你可以简单地做 ..

      let { query1, query2 , query3} = request.get(); // or whatever is supported in your server
      

      ..或任意数量的参数:

      let queries = request.get();
      // iterate through query as an object. 
      // e.g Object.keys(queries).forEach((prop) => console.log(prop));
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-02-25
        • 1970-01-01
        • 2014-06-29
        • 1970-01-01
        • 1970-01-01
        • 2015-08-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多