首 页文章中心下载中心繁體中文
设为首页
加入收藏
联系我们
您当前的位置:开源盛世-源代码下载网 -> 文章中心 -> GIS 专区 -> 文章内容 退出登录 用户管理
栏目导航
· VC++专区 · V B 专区
· GIS 专区 · PDA 专区
· 其他编程 · 网站开发类
· 数据库类 · 软件应用
· 网络安全 · 论文专区
· 综合资讯
热门文章
· Tab Control控件使用...
· 学生档案管理系统
· [图文] 排列组合公式
· UTF-8与GB2312之间的...
· DirectShow下载安装...
· Virtual PC 在PAE模...
· Windows2000终端服务...
· MapInfo上的GIS系统...
· Mapbasic参考手册索...
· MapX应用开发中文讲...
相关文章
· ArcGIS在菜单中调用...
· [图文] Server Java开发--B...
· ArcGIS Server Java...
· ArcGIS Server Java...
· ArcGIS Server Java...
· [图文] ArcGIS Server Java...
· ArcGIS Server Java...
· ArcGIS Server Java...
· [图文] ArcGIS Server Java...
· ArcGIS Server Java...
ArcGIS Server JAVA开发讲座--- ADF中的Ajax函数
作者:不详  来源:vscodes.com整理  发布时间:2007-6-26 17:24:54  发布人:Polaris

减小字体 增大字体

ESRI为了使Server ADF能够支持Ajax,做了大量的工作,Sever ADF中有很多可以利用的代码,我们来看看:
代码1:创建XMLHttpRequest,可以看一下下面的代码:


this.createXmlHttpObject = function() {
    if (this.isIE) {
      try {
        return new ActiveXObject("Msxml2.XMLHTTP");
      }
      catch (exception) {
        return new ActiveXObject("Microsoft.XMLHTTP");
      }
    }
    return new XMLHttpRequest();
  }

这个代码写得很妙吧,前面两个处理IE浏览器,最后一个支持FirefoxXMLHttpRequestFirefox的。

发送请求,用如下命令:


EsriUtils.sendAjaxRequest(url, params, true, function() { updateInfoResponse(xmlHttp); });


解释一下,怎么得到这个urlESRI也提供了办法:


var url = EsriUtils.getServerUrl(formId);


getServerUrl的代码如下:


this.getServerUrl = function(fId) {
    if (document.forms[fId].action.indexOf(";jsessionid=") != -1)
      return document.forms[fId].action;
    else if (this.getJSessionId())
      return document.forms[fId].action + ";jsessionid=" + this.getJSessionId();
    else
      return document.forms[fId].action;
  }


嗯,url已经解释了,我们看看第二个参数params,这个参数包含了我们需要传递到服务器端的参数。看一下源代码就可以知道,xh.send(params);将这些参数发送到服务器端。

doGet参数就比较简单了,用来说明这个请求是get还是post。看看源代码,发送的方法是不一样的,如果是get方法,那些参数用?进行连接,传送到服务器端。它返回的仍然是XMLHttpRequest对象。

Callback函数是我们自己写的函数,用来在服务器数据处理完成后,处理服务器端传送过来的数据。大家看着是不是一目了然了呢?

sendAjaxRequest源代码


this.sendAjaxRequest = function(url, params, doGet, callback) {
    try {
      var xh = this.createXmlHttpObject();
      xh.onreadystatechange = callback;
      if (doGet) {
        xh.open("GET", url + "?" + params, true);
        xh.send(null);
      }
      else {
        xh.open("POST", url, true);
        xh.send(params);
      }
      return xh;
    }
    catch (exception) {
      return null;
    }
  }
}



有了这几个强大的函数,我们就可以利用ESRI的成果,来进行Ajax的开发了。说了半天客户端的东西,下一篇我们来讲服务器端的处理,服务器端的处理需要比较大的篇幅来说。

End of《ArcGIS Server JAVA开发讲座--- ADF中的Ajax函数》

[] [返回上一页] [打 印] [收 藏]
 
∷相关“ArcGIS Server JAVA开发讲座--- ADF中的Ajax函数”文章评论∷
(评论内容只代表网友观点,与本站立场无关!) [更多评论...]
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 网站目录 鄂ICP备06007162
开源盛世 版权所有Copyright © 2003-2005 VSCodes.Com. All Rights Reserved.