以形式查询字符串的decodeURIComponent

时间:2017-12-15 14:29:51

标签: javascript jquery decodeuricomponent

当我提交表单时,它会在浏览器网址中添加hidden输入作为查询字符串。



$('form').on("submit", function(event) {
    event.preventDefault();
    // what i tried
    
    console.log($(this).attr('action'));
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form method="GET">
<input type="hidden" name="d" value="2,1">
<input type="submit" value="Submit"/>
</form>
&#13;
&#13;
&#13;

此示例的结果是:

/box?d=2%2C1

但我不想看%2C(它的逗号),我知道decodeURIComponent但我知道如何抓住这个表单操作并使用此组件在它上面,我试过这个:

decodeURIComponent($(this).attr('action'));

但它返回undefined。

目标:

  1. 获取表单操作+查询字符串,并使用decodeURIComponent删除%2C
  2. 直接使用逗号删除网址中查询字符串中的%2C
  3. 我想要这个结果:

    /box?d=2,1
    

1 个答案:

答案 0 :(得分:0)

您应该只解码服务器端的URI,或者如果您在客户端以某种方式收到此请求,从不提交。 URI被编码为安全的“传输”(有时必须明确编码)。代码行为符合预期,或者我没有看到你的观点。