首先,要注意dwr自带的js包导入顺序, 正确如下:
<script src='/dwr/engine.js'></script>
<script src='/dwr/util.js'></script>
<script src='/dwr/interface/checkAction.js'></script>
在DWR的engine.js文件中有setAsync方法,就是设置调用是否是同步的,还是异步的。
js 代码
1
2
3
4
5
6
7
8
9
|
if
(testProjectId != -2){
DWREngine.setAsync(
false
);
checkAction.existCustomer(customerGroupNo,
function
(isExist){
if
(isExist){
alert(
'!!!!!!'
);
}
});
DWREngine.setAsync(
true
);
}
|
上面这段代码就是设置DWR是同步返回的。
如果不同步返回的话,紧跟其后的操作就没法进行了。
注意:
进入 dwr.jar 包, 打开 org\directwebremoting\engine.js 文件,
搜索该文件中是否存在DWREngine变量的定义。
(因为在dwr3.x版本的engine.js中已经取消了DWREngine的定义)
如果没有DWREngine,可以把 DWREngine 改为 dwr.engine,试试即可知道该方法是否有效了。