【发布时间】:2012-10-25 16:17:16
【问题描述】:
我继承的 Struts2 + dojo Web 应用程序有问题。该应用程序在 IE9 和 Firefox 中运行,但在 Chrome 中不运行。
这里是提交按钮代码:
<button dojoType="dijit.form.Button"
type="submit"
onclick="sendRuleForm('requestSubmitForm', 'resultDiv', 'RequestSubmit.action');">Submit</button>
这里是上面 sendRuleForm 函数的 javascript 代码:
function sendRuleForm(formId, id, actionNm) {
var bindArgs = {
url: actionNm,
form: document.getElementById(formId),
handleAs: "text",
load: function(data) {
document.getElementById(id).innerHTML = data;
},
error: function(data) {
alert(data);
return;
}
}
dojo.xhrPost(bindArgs);
document.getElementById(id).innerHTML = ajaxLoader;
}
我注意到,如果我在我的 Java 代码中设置断点,即使在操作完成之前,网页也会返回错误。
Chrome 开发者工具指示操作/请求的状态为已取消 (What does status=canceled for a resource mean in Chrome Developer Tools?)
我使用的是旧版本的 dojo 1.3.1,但将其更新到最新版本并没有解决问题。
谁能解释这种行为并告诉我如何解决这个问题?
【问题讨论】:
-
如果您在选项卡中打开请求会发生什么?
-
@mschr 不确定你的意思。你能澄清一下吗?
-
在开发者工具中右键状态=取消行,选择'在新标签中打开链接'
-
整洁!没想到我能做到。我在期望空字符串变量(通常由 Struts2 框架设置)的代码中得到一个空指针错误
-
@mschr 当然,我似乎无法复制我之前评论中记录的行为。今天早上我尝试在新选项卡中打开请求时,应用程序现在将我重定向到另一个页面,因为它在会话中找不到它期望的内容。
标签: java javascript ajax google-chrome dojo