抱歉我的英文。 在我的程序中有一个客户端 - 服务器通信(JSP - Servlet)。当数据发送到服务器时,会出现一个带有“Please wait ...”消息的对话框Dojo。这样可行。但如果答案到了,则应隐藏此对话框。
我通过dialogStats.hide();来尝试。这不起作用。我没有得到隐藏的答案,而是对话。可能无法访问dialogStats。
代码:
<script>
require(["dojo/dom",
"dojo/on",
"dojo/request",
"dojo/dom-form",
"dojo/json",
"dojox/json/query",
"dijit/Dialog",
"dijit/form/Button",
"dojo/domReady!"],
function(dom, on, request, domForm, json, dialog, button){
var form = dom.byId('aktForm');
on(form, "submit", function(evt){
evt.stopPropagation();
evt.preventDefault();
var dialogStats = new dijit.Dialog({
title: "Blah",
style: "width:500px;",
content: "<p />Please wait ..." +
"<p /><div style=\"align:center; display:block; margin:0px auto; width:100px\"> " +
"<img src=\"bilder/loading.gif\" border=\"0\"></div><p />"
});
dialogStats.show();
request.post("StatsServlet", {
data: domForm.toObject("aktForm"),
handleAs: "json"
}).then(function(response){
dialogStats.hide();
var fehler = dojox.json.query("fehlermeldung", response);
if(fehler == ""){
// everything is ok
}
else {
// error
}
});
});
});
</script>
我该如何解决这个问题? 我提前谢谢你。 EDU
答案 0 :(得分:1)
request.post("StatsServlet", {
data: domForm.toObject("aktForm"),
handleAs: "json"
}).then(function(response){
dialogStats.hide();
var fehler = dojox.json.query("fehlermeldung", response);
if(fehler == ""){
// everything is ok
}
else {
// error
}
}, function (error) {
dialogStats.hide();
});