str.replace导致%2520而不是想要的%20

时间:2014-08-21 18:10:10

标签: javascript jquery

我使用以下代码将输入中的空格替换为文字%20,以便网址包含%20而非+

  <script>
    $(document).ready(function(){
      $('.form-horizontal').submit(function(){
        var str = $('#nickname').val();
        var res = str.replace(" ", "%20");
        $('#nickname').val(res );
      });
    });
  </script>

但我最终得到init_user=John%2520Doe而不是init_user=John%20Doe

我没有在任何地方进行其他编码,这是唯一的脚本实例。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用内置的encodeURI(string)功能(用作var encodedString = encodeURI(baseString);)。

或者,在这种特殊情况下,为什么这不适合你?