我对Javascript相对较新,对Ajax和DWR不熟悉 - 我怀疑这是一个Javascript问题而不是Ajax / DWR,但这里有:
我正在编写Javascript,它使用DWR调用远程Java方法来验证在浏览器中输入的一些数据。如果验证失败(Java方法返回错误消息(非空字符串),我想向用户显示错误消息并且不再执行Javascript处理。如果验证成功(Java方法返回空字符串)I想继续使用我的Javascript来处理用户的输入。
我发现的是,在验证错误时,会显示错误消息,但Javascript处理不会停止,它会继续,就像验证成功一样。所以我的问题是如何在验证失败时结束Javascript处理(下面代码中的'A:')。
这是Javascript和伪代码的混合,但它应该说明我在做什么。
感谢您的帮助,
史蒂夫
MyRemoteService.validateData(myData, {
callback:function(str) {
if (str) {
// A: show an error message
return;
}
}
});
// pseudocode - this is what I want to happen:
if (validation error)
// don't do anything else
}
// Data was valid - continue to do stuff
答案 0 :(得分:3)
使DWR调用同步解决问题:
MyRemoteService.validateData(myData, {
async: false,
callback:function(str) {
if (str) {
// A: show an error message
return;
}
}
});
答案 1 :(得分:0)
到目前为止,我能理解你的帖子,
你想要执行一些java脚本代码,只有在你从后端得到结果后才能成功或错误消息!(我是对的还是遗漏了什么)
如果是这种情况,请在dwr回调函数中编写javascript代码。因此,只有在结果来自后端后才会调用它们。