【发布时间】:2014-06-24 14:29:42
【问题描述】:
我有一个上传和处理文件的控制器。之后,我希望将处理结果呈现在模态 div 中。我想知道将结果从控制器获取到 gsp 上的模态 div 的最佳方法是什么。我想到了一个模板,但我不知道如何指定模板的目标 div 应该是什么,因为这个模板不会通过单击按钮来呈现,其中模板呈现的目标被设置为属性,它会是定时完成(即文件完成上传时)。另一种方法是从控制器发回 JSON,但我不知道如何在正确的时间截取这个 JSON,因为我仍然不太了解 GSP 和控制器之间信息流的时序。我知道如何发送 JSON,但如何提醒 GSP “嘿,一些 JSON 现在已为您即将上升的模态做好准备。”这是我想要完成的一些伪代码。
控制器:
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 抱怨“数据”没有定义。 “数据”是指从控制器返回的 JSON。
谢谢
【问题讨论】: