Controller中有什么内容可以在GRAILS中获取AJAX get请求

时间:2012-06-11 18:17:45

标签: ajax grails controller

我在视图中有一个AJAX调用,

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

我在ProfileController.groovy类中创建了一个方法,以便从此调用返回“数据”,但我不知道如何正确格式化控制器。这是我想要回归的。模型,配置文件具有名称和描述。我想返回一个哈希对象,其中键是名称,值是描述。有没有办法在控制器中执行此操作,以便此ajax调用返回该哈希。任何帮助都是有意义的。谢谢!

1 个答案:

答案 0 :(得分: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