gpt4 book ai didi

json - Grails 渲染模板还是 JSON?

转载 作者:行者123 更新时间:2023-12-02 14:23:57 25 4
gpt4 key购买 nike

我有一个上传和处理文件的 Controller 。之后,我希望将处理结果呈现在模态 div 中。我想知道将结果从 Controller 获取到 gsp 上的模态 div 的最佳方法是什么。我想到了一个模板,但我不知道如何指定模板的目标 div 应该是什么,因为这个模板不会通过单击按钮来呈现,其中模板呈现的目标被设置为属性,它会是定时完成(即文件完成上传时)。另一种方法是从 Controller 发回 JSON,但我不知道如何在正确的时间截取这个 JSON,因为我仍然不太了解 GSP 和 Controller 之间信息流的时序。我知道如何发送 JSON,但如何提醒 GSP “嘿,一些 JSON 现在已为您即将上升的模态做好准备。”这是我想要完成的基本内容的一些伪代码。

Controller :

 upload() {
// process file and store results in three integers
// int1 = result1
// int2 = result2
// int3 = result3
// send the three numbers to the gsp
}

现在,将这三个数字发送到 GSP 的最佳方法是什么,以便它们显示在一个模态对话框中,该对话框将像这样显示:
<div id="fileUploadResultsModal">
Results:
${int1}, ${int2}, ${int3}
</div>

这是与我的ajax上传功能相关的JS:
$("#chseFile").upload("${createLink(controller: 'customer', action: 'upload',)}",
{dataTypegrp: parseInt(getCheckedValue(document.getElementsByName('dataTypegrp'))),
fileTypegrp: parseInt(getCheckedValue(document.getElementsByName('fileTypegrp')))},
function(success) {
$("#cancel1").trigger("click");
setTimeout(function(){
$("#summary").trigger("click");
}, 250);
displaySuccess(data);
},
function(prog, value) {
console.log(value);
$("#prog").val(value);
if (value == 100) {
$("#prog").hide();
$("#progressbar").html("Uploading and processing. Please wait...");
}
});

但现在 JS 提示没有定义“数据”。 “数据”是指从 Controller 返回的 JSON。

谢谢

最佳答案

您可以将它们呈现为 JSON:

render( [ int1:111, int2:222, int3:333 ] as JSON )

或作为 HTML 字符串
render "<div id=\"fileUploadResultsModal\">Results:${int1}, ${int2}, ${int3}</div>"

或使用模板
render template:'/yourController/templateName', model:[ int1:111, int2:222, int3:333 ]

TagLib
render g.yourResultTag( int1:111, int2:222, int3:333 )

对于这一点点信息,性能并不重要。这是一个品味问题,或者什么更适合您的客户。

如果后者偏向 JSON,请使用 JSON 渲染。如果它混合了 JSON 和 HTML,请使用其他的。

关于json - Grails 渲染模板还是 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24389275/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com