我有这些事件,我想通过点击事件名称按名称搜索事件。我已经完成了服务器的所有逻辑,但是我遇到了一个问题:对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);
});
});
这是有效的,但我不认为这是更好的方式..
答案 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>