如何将 URL 字符串传递到 jQuery $.each 循环中的服务器端单击处理程序?
我的客户端脚本中有 url 值。在循环它们时,我想创建链接,将这些 URL 值单击传递回我的服务器端单击处理程序。服务器端代码 (/logclick
) 会记录点击的时间和目的地,以便在用户被定向到作为参数传递给的 URL 位置之前进行审核/logclick
服务器端处理程序。
$.each(data.items, function(i, item)
{
$('#link').append("<a href='" + item.url + "'></a>");
});
问题是如何编写链接,以便“虚拟链接”将目标 URL 传递到服务器端代码,而不会将目标 URL 误解为“虚拟链接”的一部分?
我的意思是,如果“虚拟链接”看起来像这样:
/logclick/http://www.google.com/reader/view/subscription/a
那么服务器端代码会抱怨它无法识别这个目的地(它会认为 google.com 目的地是 的一部分/logclick
url-route 而不是传递给 /logclick
路由的字符串值
但是,在 jQuery 的上下文中 。 $.each
循环,如何创建将 POST
值发送到 /logclick
处理程序而不是 的 URL >获取?
I have url values in my client-side script. While looping over them, I want to create links that will pass these URL values on-click back to my server-side click handler. The server-side code (/logclick
) records the time and destination of the click for audit purposes before the user is directed to the url location that was passed as a parameter to the /logclick
server-side handler.
$.each(data.items, function(i, item)
{
$('#link').append("<a href='" + item.url + "'></a>");
});
The question is how to write the link so that the "virtual link" passes the destination URL to the server-side code without misinterpreting the destination URL as part of the "virtual link"?
What I mean is, if the "virtual link" looks like this:
/logclick/http://www.google.com/reader/view/subscription/a
then the server-side code will complain that it doesn't recognize this destination (it will think the google.com destination is part of the /logclick
url-route instead of a string value that is being passed to the /logclick
route.
But, in the context of a jQuery $.each
loop, how would I create URLs that POST
values to the /logclick
handler rather than GET
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我不确定您的服务器端框架正在做什么,但您可能需要对 URL 的该部分进行编码。
I'm not sure what your server-side framework is doing, but you may need to encode that part of the URL.
为了发送 POST 请求,您需要使用现有的 FORM 元素。
In order to send a POST request you need to use existing FORM element for that.