2011-08-26 24 views
0

我的應用程序中有一個ajax導航系統。每個AJAX鏈路是ajax類的,它需要加載網頁被保存在一個aurl屬性,例如:Symfony和jQuery.data()

<a class="ajax" aurl="/user/posts/3/edit">Edit Post</a> 

的aurl被提供給元件使用的symfony在服務器端url_for方法。

我想過更優雅的保存元素的aurl屬性的方法,比如jQuery.data(),但是我怎麼能從服務器端使用它呢?創建一個腳本後,每個元素設置它aurl似乎不是一個好的解決方案..

任何想法?

回答

3
<a class="ajax" data-aurl="/user/posts/3/edit">Edit Post</a> 

然後你可以,如果你使用jQuery的最新版本(1.5或更新版本據我所知)通過.data('aurl')訪問它。

但是,你爲什麼不乾脆設置href(應該無論如何設置),然後使用$(this).attr('href')來獲取網址,並使用e.preventDefault();(與e是單擊處理函數的第一個參數),以防止鏈接從沒有AJAX加載?

+0

我想使用數據,因此我不必在整個應用程序中傳播鏈接..所以我會'Edit Post'它的網址將被保存在「幕後」 – tamir

+0

如果您要設置數據與它應該在那裏設置的元素相關,即通過'data-'屬性。將URL移出相關鏈接只會讓事情變得混亂。 – ThiefMaster