atitit.php中的dwr 设计模式

atitit.php中的dwr 设计模式 

 

1. dwr的长处相对于ajax来说。。

1

2. DWR工作原理 1

3. phpdwr实现 1

4. 參考 3

 

1. dwr的长处相对于ajax来说。。

dwr是构建在ajax上的。

。更加的dsl化。。

大大简化了编写ajax的工作量。 

 

 

2. DWR工作原理

是通过动态把Java类生成为Javascript。

它的代码就像Ajax一样。你感觉调用就像发生在浏览器端,可是实际上代码调用发生在server端,DWR负责数据的传递和转换。这样的从Java 到JavaScript的远程调用功能的方式使DWR用起来有种很像RMI或者SOAP的常规RPC机制,并且DWR的长处在于不须要不论什么的网页浏览器插件就能执行在网页上。

 

Java从根本上讲是同步机制,然 AJAX却是异步的。

所以你调用远程方法时,当数据已经从网络上返回的时候,你要提供有反调 (callback) 功能的DWR。 

 

DWR在client放置了一个 engine.js作为client的引擎。在Server端放置了一个dwr.jar作为server端的引擎。 

然后。能够以RPC的方式来描写叙述

 

作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

 

 

3. phpdwr实现

 

 

<script type="text/javascript" src="../com.attilax/dwr.js"></script>

var mp={};

// mp.id=85495; frm cookie   

mp.method="get-score";

dwrC.exec(mp,function(data){

//if ex then to ex process hadler

/* if(data)

alert("不能编辑,已经审核通过");

else

window.location.href="elemt_edit.jsp?

id="+str;*/

$("#score").text(data+"");

$("#score-detail").text( "您的育儿指数总算及格了,还要继续....");

 

},"/lime");

 

 

 

--------------dwr.js

var dwrC={};

dwrC.exec=function(param,callback,approot)

{

//jQuery.get("dwr.php?param="+param, [data], [callback])

$.ajax(

                    {

                        type: "get",

                        url: approot+"/com.attilax/dwr.php",

                        data:param,

                        dataType: "text",

                        success: function(data) {

                          //  $("#divShow").html(data);

  callback(data);

                     }

 });

}

 

-------------dwr.php

 <?

php 

 

 require_once(dirname(__FILE__).'/../iocx.php');

 

//$dwrEventContainer['b'] = 'char b'; 

 

 

 $method=   $_GET['method']; 

 $fun=$dwrEventContainer[ $method];

 $rzt=$fun($method);

 echo $rzt;

 

 

 ?>

 

 

 

------------iocx.php

$dwrEventContainer = array(); //定义一个数组

$dwrEventContainer['get-score'] =getScoreX;

 

 

4. 參考

DWR 工作原理 - ITeye问答.htm

posted @ 2017-08-19 21:07  jzdwajue  阅读(169)  评论(0编辑  收藏  举报