2015-11-02 79 views
1

目前,我已经有一个可以发送到服务器的AJAX调用了。控制器将解析数据并返回如下内容:GRAILS:如何使用模板和消息进行渲染

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

该代码完全正常工作。但我需要从服务器获得另一个数据。这是针对错误/成功消息。但基于此post。使用AJAX时我无法通过flash.message。所以他们建议使用JSON。出现这个问题,我想不出有什么方法可以同时传递模板和消息(flash)。

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

回答

0

在这里你去:现在

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); 
    } 
});