传入密钥会在我的firebase URL中产生额外的字符,如何删除它们?

时间:2014-09-22 00:13:14

标签: javascript angularjs firebase angularfire

放置"键"变量在此字符串内部,显示' simplelogin%3A5'而不是简单登录: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

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

key的价值来自哪里?如果您从网址获取,则可以看到%3A

:在网址中具有特殊含义,因此会对其进行转义。 :的网址转义序列为%3A

要将%3A转换回:,您只需将其转换为以下内容:

unescape(key)

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

答案 2 :(得分:0)

您是否尝试在将密钥连接到URL之前修剪密钥?

key = key.trim();