如何编码/在URL中

时间:2015-01-12 17:07:07

标签: javascript jquery node.js encoding

enter image description here

我有这些事件,我想通过点击事件名称按名称搜索事件。我已经完成了服务器的所有逻辑,但是我遇到了一个问题:对URL进行编码。

我需要编码/.

如果我点击其中任何一个,我会将我重定向到

20/11/11%20Evento%20Free%20Pass

什么时候应该

20%2F11%2F11%20Evento%20Free%20Pass

我正在使用Node.js.

如何修复?我应该在客户端还是服务器上做什么?

更新

                        <tr class="reservas">
                            <td> <a class="fullEventName" href="/admin/bookings/1/<%= booking[i].fullEventName %>"><%= booking[i].fullEventName %> </a></td>
                        </tr>

$(document).ready(function(){
    $('.fullEventName').on('click', function(){
        var href = $(this).attr('href');


        var position = href.indexOf('=');
        var getDate = href.substring(position + 19);

        alert(getDate);

        var newChar = "%2F";
        var changeDateFormat = getDate.split('/').join(newChar);


        var newLink = '/admin/bookings/1/' + changeDateFormat;

        $(this).attr('href', newLink);
    });
});

这是有效的,但我不认为这是更好的方式..

1 个答案:

答案 0 :(得分:1)

在客户端和服务器(node.js)上都可以使用encodeURIComponent。在这种情况下,您应该在服务器上使用它:

<tr class="reservas">
    <td> 
    <a href="/admin/bookings/1/<%= encodeURIComponent(booking[i].fullEventName) %>" class="fullEventName" >
        <%= booking[i].fullEventName %>
    </a>
    </td>
</tr>