【问题标题】:Pass query params to Axios with no value将查询参数传递给没有值的 Axios
【发布时间】:2021-01-28 02:53:21
【问题描述】:

get请求的Axios配置的params对象能否接受query parameter with no value,来构造http://example.com/foo?a=true&b之类的URL?也许是这样的:

const val = true
axios.get('/api/my_page/', {
    params: {
        a: val,
        b // although JavaScript interprets this as `b: b`
    }
})

或者是我将查询参数直接放在 URL 中的唯一选择,例如:

axios.get(`/api/my_page/?a=${val}&b`)

【问题讨论】:

    标签: axios


    【解决方案1】:

    如果没有传递变量b 的目的,我建议完全跳过它。否则您可以按照以下方式进行操作

    params: {
        a: val,
        b: null
    }
    

    这将为您提供查询参数/api/my_page/?a=hello

    或者你可以使用下面的那个

    params: {
        a: val,
        b: ''
    }
    

    这将为您提供/api/my_page/?a=hello&b=的查询参数

    我认为单独获得b 是不可能的。你要么得到b=,要么什么也得不到,除非你像下面那样明确地硬编码它

    axios.get(`/api/my_page/?a=${val}&b`)
    

    但这在行为上与b= 相同。

    另外,当使用对象时

    params: {
        a: val,
        b
    }
    

    它可能会引发错误。至少在 JsFiddle React 0.14.3 上是这样

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-27
      • 2014-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-26
      相关资源
      最近更新 更多