在ajax调用中从url中删除附加的#

时间:2011-10-11 11:09:20

标签: javascript html ruby-on-rails ajax

在我的rails应用程序中(rails 2.3.4和ruby 1.8.7)当我点击News时,会调用ajax并加载数据。

 <a href="News" onclick="load_feed();"><u>Show More...</u></a>

 <script>
  function load_feed()
 {
 $.ajax({
   url: this.url,
 dataType: 'script'
 })
$('div .rss_feed_1').append("<%= escape_javascript(render :partial => "news_feed_data")   %>");
 }
</script>

当我点击ajax调用并加载数据时。但网址变为

来自http://localhost:3000/us/dropbox#News

http://localhost:3000/us/dropbox,有什么方法可以通过移除#来获取此网址http://localhost:3000/us/dropbox/News

2 个答案:

答案 0 :(得分:3)

使用新的Javascript pushState,你可以在同一页面上创建漂亮的URL:s,只使用AJAX进行数据提取。

这是an example。这也是Facebook使用的方法。

答案 1 :(得分:0)

你只需要'return false;'在函数结束时或写'onclick =“load_feed();返回false;”'。因此,您可以防止触发默认操作(链接后)。