传入密钥会导致我的 Firebase 网址中出现额外的字符,如何删除它们

Passing in a key results in extra characters in my firebase URL, how do I remove them?

本文关键字:字符 何删除 删除 密钥 我的 Firebase      更新时间:2023-09-26

当将"key"变量放在这个字符串中时,它显示'simplelogin%3A5'而不是'simplelogin:5'。有没有办法只通过后者?

  var populateTasks = function(date, key){
    $scope.ref = new Firebase("https://myfirebase.firebaseio.com/users/"+key+"/tasks");   
  };

结果: https://myfirebase.firebaseio.com/users/simplelogin%3A5/tasks我需要:https://myfirebase.firebaseio.com/users/simplelogin:5/tasks

var uri = "//what you need to convert";
var uri_dec = decodeURIComponent(uri);
var res = uri_dec;

key的价值从何而来?如果您从 URL 获取它,则看到 %3A 是有意义的。

:在 URL 中具有特殊含义,因此它被转义。并且:的 URL 转义序列是 %3A .

要将%3A转换回:只需像这样取消转义即可:

unescape(key)

或者使用 decodeURIComponent ,在这种情况下可以完成相同的操作。解码值的最佳方法取决于它首先被编码的原因,因此我最初的问题。

您是否尝试过在将密钥连接到 URL 之前对其进行修剪?

key = key.trim();