GRAILS:如何使用模板和消息进行渲染

时间:2015-11-02 06:51:01

标签: ajax grails

目前,我已经将一个有效的AJAX调用发送到服务器。控制器将解析数据并返回如下内容:

    render(template: "/myProject/myProjectTemplate",
            model: [ d1 : value1,
                     d2 : value2,
                     d3 : value3
            ]);
    return

代码完美无缺。但我需要来自服务器的其他数据。这是针对错误/成功消息。但基于此post。使用AJAX时我无法通过flash.message。所以他们建议使用JSON。出现问题,我想不出有任何方法可以同时传递模板和消息(flash)。

有没有办法将模板和消息同时传递给用户?

1 个答案:

答案 0 :(得分:1)

你走了:

import grails.converters.JSON

class MyController {

    def test() {
        String htmlContent = g.render([template: "/myProject/myProjectTemplate", model: [d1: value1, d2: value2, d3: value3]])

        Map responseData = [htmlContent: htmlContent, message1: "Hello", additionalData: "Just an example"]

        render(responseData as JSON)
    }
}

现在,在接收端:

$.ajax({
    url: '/my/test',
    success: function(data) {
        $("#my-div").html(data.htmlContent);
        $("#my-alert").text(data.message1);
    }
});