您的位置:首页 > 运维架构

cannot call 'open' method 关于DWR Chrome 调用的解决方法

2016-12-11 00:00 671 查看
dwr包是2.10,chrome是最新版本 26.0.1410.64 m,

会提示cannot call 'open' method,

解压出\org\directwebremoting\engine.js的文件

debug进去发现如下的open方法这时候是 underfined

try {
batch.req.open(httpMethod, request.url, batch.async);
try {
for (var prop in batch.headers) {
var value = batch.headers[prop];
if (typeof value == "string") batch.req.setRequestHeader(prop, value);
}
if (!batch.headers["Content-Type"]) batch.req.setRequestHeader("Content-Type", "text/plain");
}
catch (ex) {
dwr.engine._handleWarning(batch, ex);
}


在 batch.req.open前加验证

if(!batch.req) {
if (window.XMLHttpRequest) {
batch.req = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
batch.req = dwr.engine.util.newActiveXObject(dwr.engine.transport.xhr.XMLHTTP);
}
}


后,编辑后的js再打包在覆盖dwr的\org\directwebremoting\engine.js目录下,目前是这样解决的!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: