vue.js - 我如何使用 vuejs 在我的 url 中编码 token

标签 vue.js

我有一个应用程序可以在我的浏览器 url 中接收 token

http://localhost:8081/reset/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2MmU2YWJmMmMzMzI0Mjk1NGQyNmVjZjIiLCJpYXQiOjE2NTk1MDIwNTEsImV4cCI6MTY1OTUwMjk1MX0.GIlKy_GI7HlfuB1WgD9HPxOGRZUX2_uOtOclrDTW3Y8

我怎样才能从我的网址中删除 (.)

这是我的路线

  { name: "reset", path: "/reset/:token", component: Reset },

这是我调用函数的脚本标签


<script>
import axios from "axios";
export default {
  data() {
    return {
      password: "",
      confirm_password: ""
    };
  },
  mounted() {
    console.log("the id is :" + this.$route.params.token);
  },
  methods: {
    async submit() {
      let token = this.$route.params.token;
      let encoded = encodeURI(token);
      return axios({
        method: "post",
        data: {
          password: this.password,
          token: this.$route.params.token
        },
        url: "http://localhost:5000/api/auth/updatePassword",
        headers: {
          "Content-Type": "application/json"
        }
      })
        .then(res => {
          console.log(res);
          this.$router.push({ name: "login" });
        })
        .catch(error => {
          console.log(error);
        });
    },
    clear() {
      this.$refs.form.reset();
    }
  }
};
</script>

在我删除 (.) 之前我无法获得重置页面请问我如何对 token 进行编码

最佳答案

您拥有的 token 是 JWT token ,它应该包含两个点。我不认为删除它们是个好主意。但是,看起来 Vue 路由器将这些点解释为分隔符或其他东西,导致路由器无法找到路由。

您可能做的是使用查询字符串而不是路由参数。您将 token 添加到 url,如:

http://localhost:8081/reset?token=eyJhbGciOiJ...

您应该将路线更改为:

{ name: "reset", path: "/reset", component: Reset },

现在您可以通过以下方式从路由器获取它:

this.$route.query.token

关于vue.js - 我如何使用 vuejs 在我的 url 中编码 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73216542/

相关文章:

javascript - 在 dom 中移动 Vue 组件?

vue.js - 使用新版本自动更新 Vue 站点/PWA

vue.js - VueJS 组件可以传递一个表达式/函数来运行吗?

javascript - Vue.js 应用程序从新页面的下拉菜单中打开 url 链接

javascript - 如何用动态内容填充Vue JS + Bootstrap应用程序中的背景图像?

vue.js - Electron Webpack Vue全局变量

javascript - 多个 Vue.set() 不更新对象/DOM

javascript - 虚拟化;获取 v-select 字段的根元素

javascript - Vue Router this.$router.push 不处理方法

javascript - 使用 Vue CLI 在 Node js 上进行 Express session