Axios条件参数

时间:2018-09-13 11:37:26

标签: javascript axios

axios.get(globalConfig.FAKE_API, {
    params: {
        phone: this.phone,
        mail: this.mail
    },
})
.then((resp) => {
    this.req = resp.data
 })
.catch((err) => {
     console.log(err)
 })

使用Axios执行GET / POST请求时,有什么方法可以使条件参数生效?例如,如果我的mail参数为空,则不会发送空参数,例如:someurl.com?phone=12312&mail=

1 个答案:

答案 0 :(得分:3)

在发出请求之前,您都可以维护变量params,并且仅在键具有以下数据时才添加键:

const params = {}
if (this.mail) { params.mail = this.mail }

或者您也可以像下面这样,我们在括号...()之间编写普通的js代码。我们正在添加一个三元条件。

axios.get(globalConfig.FAKE_API, {
  params: {
    phone: this.phone,
    ...(this.mail ? { mail: this.mail } : {})
  },
})