在url

2012-12-21 17 views
5

JQuery的阿贾克斯将哈希我这里有这个代码,使用struts2的,jQuery插件在url

<h4>Choose A task</h4> 
    <ul> 
     <s:url value="views/ajaxvalidation.jsp" var="ajaxvalidation" > 
      <s:param name="menuId" value="1"/> 
     </s:url> 
     <li><sj:a targets="resultContent" href="%{ajaxvalidation}">Ajax Validation</sj:a></li> 
    </ul> 

当我点击其内容的URL被更改为这样的事情,没有什么是URL变化。它仍然是一样的,我想要的是,当我点击链接这样的事情会发生www.myapp.com/#ajaxvalidation。当我运行的代码锚标记被翻译成这样的事情

<a id="anchor_1365013162" href="javascript:void(0)">Ajax Validation</a> 

随着给定,我将如何在url中添加一个哈希?

+1

当您使用AJAX,网址是不应该改变,因为你不加载一个新的文档。 AJAX是幕后透明的沟通。 – Barmar

+0

@Barmar 然后,我会如何添加一个哈希到网址?我需要重写URL(或添加一个哈希),但加载选定的内容与Ajax,因为我有一个音乐播放器正在加载 – KyelJmD

+0

是'document.location.hash ='ajaxvalidation''你在找什么? – Barmar

回答

23

这里是一个工作示例(不考虑Struts2的):

<html> 
<body> 
<a id="123" href="">Add Hash</a> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
<script> 
$(document).ready(function() { 
    $("a").click(function(e) { 
     window.location.hash = $(this).attr("id"); 
     e.preventDefault(); 
    }); 
}); 
</script> 
</body> 
</html> 
+0

无论如何,我可以添加#id/somename /编程?但这个作品 – KyelJmD

+5

'window.location.hash ='id/somename /'' – adeneo