【问题标题】:How to pass path variables to axios GET request如何将路径变量传递给 axios GET 请求
【发布时间】:2020-04-02 12:29:50
【问题描述】:

我正在使用带有 vuejs 的 axios HTTP 库来发出 REST API 请求。现在,我有一个用例来检查用户名是否存在。以下是axios对它的请求

    this.$axios
            .$get("/user/profile/find/username/${username}")
            .then(response => {
              var isUsernameAvailable = response.id == 0 ? true : false;
              resolve(isUsernameAvailable);
            })

在这里,当我将 username 作为 URI 变量传递时,它以纯文本形式传递。我查看了 axios 文档,但找不到如何执行此操作的示例。然后我遇到了下面的问题。所以,我从这个问题中得到的是 axios 不支持 URI 变量,这对于单一用途的 HTTP 库来说是蹩脚的。

https://github.com/axios/axios/issues/706

那么,现在是问题

  1. 是我遗漏了什么还是 axios 真的不支持 URI 变量?
  2. 是否有任何直接的解决方法?或者其他人是如何处理这个问题的。
  3. 最后,Vuejs 确实推荐使用 axios,但我应该考虑哪些其他替代方案? fetch() 或 isomorphic-fetch 怎么样?

【问题讨论】:

    标签: vue.js get xmlhttprequest axios path-variables


    【解决方案1】:

    试试这个方法:

    this.$axios
      .$get(`/user/profile/find/username/${username}`)
      .then(response => {
        var isUsernameAvailable = response.id == 0 ? true : false;
        resolve(isUsernameAvailable);
      })
    

    【讨论】:

    • 所以你建议使用单引号而不是双引号?
    • @MeenaChaudhary,不,Template literals
    【解决方案2】:

    您应该为此使用反引号。我心烦意乱地思考为什么他们使用反勾号,毕竟它工作正常。在 URL 中传递变量时不要忘记您的 ``

    【讨论】:

      猜你喜欢
      • 2020-10-17
      • 2021-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-16
      • 2018-02-19
      • 2022-09-28
      • 2019-09-11
      相关资源
      最近更新 更多