2012-06-11 177 views
1

我有我的觀點AJAX調用的AJAX的GET請求,什麼在控制器進入在GRAILS

var ajaxData= $.ajax({ 
type: "GET", 
url: "${createLink(controller:'profile',action:'ajaxList')}", 
success: function(data) { 
    } 
}); 

我爲了創建在ProfileController.groovy類中的方法,從這個返回「數據」電話,但我不知道如何正確格式化控制器。這是我想要返回的。模型,配置文件有一個名稱和一個描述。我想返回一個哈希對象,其中的鍵是名稱,值是描述。有沒有辦法在控制器中這樣做,以便這個Ajax調用返回該散列。任何幫助將被預先設定。謝謝!

回答

2

在你的控制器的ajaxList動作中像往常一樣建立你的模型,然後代替return model最後你想要render model as JSON

例如,

class ProfileController { 
    def ajaxList() { 
     def profiles = Profile.list() 
     def model = profiles.collect { [(it.name): it.description] } 
     render model as JSON 
    } 
} 

如果你想使用返回不同的格式相同list動作,看看使用withFormat

+0

我從來沒有真正做過自定義控制器,我只是用了幾代人。你認爲你可以給出一個關於如何尋找這種情況的代碼示例嗎? –

+0

感謝您的更新,這是有道理的。但是,數據從哪裏來。在這種情況下,AKA沒有查詢數據庫來獲取配置文件? –

+0

我更新了示例以猜測您的域類和需求。 – doelleri