Engine.js对DWR非常重要,因为它是用来转换乃至动态生成接口的javascript函数调用的,所以只要用到DWR的地方就需要它。
DWREngine.setTimeout()
允许你在call和batch级别调用元数据选项设置超时时间。全局的DWREngine.setTimeout() 函数应用于所有的DWR调用。设置这个值为0可以关闭调用的超时设置(默认就是0)。
setTimeout()的单位是毫秒,如果一个调用超时,那么相应的错误处理器将被调用。比如下面是一个调用级别设置超时的例子:
Remote.method(params, {
callback:function(data) { alert("it worked"); },
errorHandler:function(message) { alert("it broke"); },
timeout:1000
});
批量调用
使用batch来批量的执行远程调用。这样可以减少与服务器的交互次数,进而提高反应速度。例如:
DWREngine.begingBatch();
其它的功能操作...........
DWREngine.endBatch();
在批量处理中,DWR会小心的处理保证所有的回调函数都会被调用,注意:不能在batch里面执行同步调用,若batch中设置了不同的超时,只有最后一个是有效的。
--->ajax一般是异步进行的如果人为的让它顺序的执行可以用函数:
DWREngine.setOrdered(boolean)设置为true.但是这样会减慢应用程序
--->错误警告和超时
例子解析:
Remote.method(params, {
callback:function(data) { alert("it worked"); },
errorHandler:function(message) { alert("it broke"); },
timeout:1000
});
如果方法Remote.method调用在1000毫秒没有调用callback(回调函数),就开始执行下面的errorHandler函数,错误处理。
--->远程调用Hooks
DWREngine.setPreHook(function):在执行调用之前调用一个函数,但是没有参数传到这个函数(当你希望一些按钮在调用期间变灰来防止再次使用,这个功能会很有用)
DWREngine.setPostHook(function)与DWREngine.setPreHook(function)刚好相反
--->设置同步机制
DWREngine.setAsync(true);设置全局同步
Remote.method(params,{calback:function(data){......},async:true});设置局部同步
DWREngine.setMethod(newmethod)
newmethod必须是DWREngine.XMLHttpRequest或者DWREnginr.IFrame或者DWREngine.ScriptTag
举例:
-->DWREngine.setMethod(DWREnginr.IFrame); 全局的
-->Remote.method(params,{callback:function(data){.....},method:DWREnginr.IFrame}) 单次调用
-->DWREngine.beginBatch();
Remote.method1(params,callback1);
Remote.method2(params,callback2);
DWREngine.endBatch({method:DWREngine.IFrame});
DWREngine.setVerb(verb)设置传输的方法"get"或者"post"
分享到:
相关推荐
这个压缩包包含了DWR的核心组件`engine.js`和辅助库`util.js`,它们是实现DWR功能的关键。 `engine.js`是DWR的核心脚本,它实现了JavaScript和Java之间的远程调用(Remote Procedure Calls, RPC)。这个文件处理了...
总结来说,DWR提供了一个强大的工具,使得Web开发者可以通过JavaScript轻松地调用服务器端的Java方法,而`util.js` 和 `engine.js` 分别作为工具库和核心引擎,是实现这一功能的关键组件。在实际开发中,理解和掌握...
这个压缩包包含的是DWR的实例、相关的jar包以及两个重要的JavaScript文件——`engine.js`和`util.js`,这些都是学习DWR的关键组件。 1. **DWR基础概念**: DWR的核心功能是提供一种方式,使得客户端JavaScript可以...
"engine.js"是DWR的客户端引擎文件,它包含了一组JavaScript库,使得在浏览器中可以轻松地调用服务器端的Java方法。这个文件应该被包含在Web页面中,以便Web应用能够利用DWR的功能。`engine.js`提供了诸如对象转换、...
1. `src` 目录:包含了Engine.IO客户端的源代码,分为多个模块,如`transport.js`用于处理各种传输方式,`socket.js`用于管理连接和事件处理。 2. `lib` 目录:编译后的JavaScript库,供浏览器直接引用。 3. `test` ...
标题 "dwr需要的js(searchaAuthor+engine.js+util.js).rar" 暗示了这个压缩包包含的是一组JavaScript文件,用于DWR(Direct Web Remoting)框架的功能扩展。DWR是一种开源Java库,允许Web应用程序在客户端和服务器...
【标题】"JsEngine.32.Rio.rar" 指的是一款JavaScript引擎的32位版本,适用于Rio更新。这个引擎可能是用Delphi开发的,因为标签中明确提到了"Delphi",这是一款流行的面向对象的Pascal编程语言,常用于Windows应用...
Engine.js 允许用户在主机应用程序中创建自己的功能。 当您将 Engine.js 与您的 Web 应用程序集成时,您必须明确确定用户可以从他们的自定义脚本调用哪些函数集。 隐式地,所有 Javascript都可用(尽管您可以选择...
这个文件通常包含了JSEngine 3.5提供的API接口和函数文档,详细说明了如何在Delphi项目中调用JavaScript引擎的功能。开发者可以通过查阅此文件,了解如何创建和管理JavaScript上下文,执行JavaScript代码,以及如何...
- `js` 文件夹:主要的JavaScript文件,如`validationEngine.jquery.js`是核心库,`validationEngine.jquery.min.js`是压缩版本。 - `demo` 文件夹:包含示例代码和演示,可以帮助你快速理解和使用Validation Engine...
客户端可以使用`engine.io-client`来搭建,需要提供`engine.io.js`的客户端版本。这可以通过安装`engine.io-client`模块并提取其中的`engine.io.js`文件来实现。该文件不同于`engine.io`模块中的同名文件。 为了使...
如果您对酷炫的粒子功能感兴趣并想了解更多有关如何在 javascript 中构建您自己的粒子引擎的信息,您可以阅读以下我的文章: 执照 particleEngine.js 是在 GPL 许可下发布的。 有关详细信息,请参阅文件。
3. 引入库文件:在HTML页面中,需要引入DWR的JavaScript库文件(如DwrEngine.js和DwrUtil.js),以便在客户端使用DWR的功能。 4. 调用方法:使用DWR提供的API(如DWR Engine的execute方法)来调用服务器端的方法,并...
jQuery ValidationEngine 是一款强大的前端表单验证插件,它极大地简化了网页表单的验证过程,使开发者无需编写复杂的取值和正则表达式比较,即可实现丰富的验证功能。该插件以其直观、易用和高度可定制性而受到广大...
WebGL2作为WebGL的升级版,是HTML5标准的一部分,它为JavaScript提供了一种在网页上直接绘制3D图形的能力。相比于WebGL1,WebGL2引入了更多高级特性,如多纹理、浮点纹理支持、顶点数组对象以及更强大的着色器语言...
4. **Underscore.js/Lodash**:它们的_.template方法也提供了基本的模板功能。 5. **React JSX**:虽然不是传统意义上的模板引擎,但其组件化思想和JSX语法可以看作一种模板。 为了提升JavaScript模板引擎的性能,...
其中,video.js作为一款广泛使用的开源JavaScript和CSS库,为开发者提供了强大的工具,使他们能够轻松地创建具有专业级功能的视频播放器。本文将详细介绍video.js 7.1.0版本,以及其在支持RTMP和HLS协议上的特性,...
Handlebars是一个流行的JavaScript模板引擎,以其简洁的语法和强大的功能受到开发者欢迎。例如,以下是一个简单的Handlebars模板: ```html {{#each users}} <p>{{name}} - {{email}} {{/each}} ``` 在这个例子...
Auto.js是一款强大的自动化脚本工具,尤其在Android平台上,它以其简洁的语法和丰富的功能深受开发者喜爱。本文将详细介绍Auto.js 4.1.1版本及其最新版本的特点,并结合提供的打包工具,深入探讨其在实际应用中的...