2011-10-11 41 views
1

在我的Rails應用程序(導軌2.3.4和1.8.7紅寶石)當我在新聞點擊,一個Ajax調用時和數據加載。刪除附加#從URL中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#Newshttp://localhost:3000/us/dropbox,有沒有任何出路,我可以通過刪除#這個網址http://localhost:3000/us/dropbox/News#。

+0

我不確定,但嘗試在'load_feed()' – Bohdan

+0

的末尾添加'return false',說實話,我從來沒有真正想過'#'看起來比看起來更醜陋, /'。 – Spudley

+0

從來沒有關於#​​醜陋,我希望它被刪除,因爲我的要求。 – Bijendra

回答

0

你只要把「返回false;」在你的函數結尾或者寫'onclick =「load_feed();返回false;」'。因此,您可以防止觸發默認操作(在鏈接之後)。

+0

這不是他要求的。問題不在於他被引導到/新聞。 的問題是,他認爲包括hashtag網址#news長相醜陋,想有一個像/新聞 –

+0

YAA正確的網址...澤塔正確....我想刪除# – Bijendra

+1

@GhostRider styrr試圖以防止'#'被首先添加,這實際上是您在標題中描述的問題。實際問題與標題不完全匹配,因此您可能需要解決該問題。這就是說,澤塔二有你的答案 –

3

使用新的JavaScript pushState您可以創建非常期待網址:s,而住在同一頁上,只使用AJAX進行數據讀取。

這裏是它an example。這也是Facebook使用的方法。

+1

Upvoted爲真棒鏈接。當探索文件結構等時,Github也使用這個。 – AlanFoster

+1

+1爲唯一正確的答案。但是,要知道,沒有在IE瀏覽器的任何當前版本的支持,並可能有一些其他的瀏覽器問題 - 查看瀏覽器支持表caniuse.com/#search=pushstate。 – Spudley