目前,我已经将一个有效的AJAX调用发送到服务器。控制器将解析数据并返回如下内容:
render(template: "/myProject/myProjectTemplate",
model: [ d1 : value1,
d2 : value2,
d3 : value3
]);
return
代码完美无缺。但我需要来自服务器的其他数据。这是针对错误/成功消息。但基于此post。使用AJAX时我无法通过flash.message
。所以他们建议使用JSON。出现问题,我想不出有任何方法可以同时传递模板和消息(flash)。
有没有办法将模板和消息同时传递给用户?
答案 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);
}
});