`
yuanyong
  • 浏览: 243381 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

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

    博客分类:
  • Java
阅读更多
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目录下,目前是这样解决的!
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics