ArcGIS Server Java ADF 案例教程 31

本文介绍如何绕过ADF组件直接使用纯HTML与JavaScript发送AJAX请求,并演示了一个地图放大的实例。文章展示了如何创建按钮触发AJAX请求,以及如何构造请求参数。
自定义的请求和响应

前面用户的请求都是通过Task、Toolbar来执行的,在这一章里,我们将不使用这些ADF组件,来看看没有了它们的帮助,你应该怎么自己发送AJAX请求,或者在原先输出的AJAX响应中添加上一些额外的信息。

一 发送AJAX请求

首先让我们看一下怎么不依靠任何ADF组件的帮助来发送一个AJAX请求,比如,在页面上有一个纯HTML的表单按钮,我们希望点击这个按钮的时候可以发送一个AJAX请求到服务器,应该怎么做?

那就让我们假设这样一个场景:用户点击一个HTML的“放大5倍”按钮,地图就可以放大5倍。要实现这样的功能,当然首先是需要添加一个按钮,这个按钮的onclick事件对应到一个JavaScript函数:

"button" value=" 放大5倍" onclick="mapZoom();" />

function mapZoom()

{

var formId = map.formId;

var url = EsriUtils.getServerUrl(formId);

var params = "mapZoom=true&" + EsriUtils.buildRequestParams(formId);

EsriUtils.sendAjaxRequest(url, params, true , EsriControls.processPostBack);

}

发送AJAX请求有两个条件,一是知道需要发送的目标URL、还有一个就是发送的参数。我们可以从上面看到,AJAX请求的URL可以通过EsriUtils这个工具类来获得,ADF的JavaScript库已经做好了封装;对于AJAX的参数,则首先需要使用EsriUtils的另外一个方法buildRequestParams来构建基础的请求参数,在这些参数中包含了ADF组件的相关信息,这是ADF的AJAX请求必须的;在这个参数的基础上再加上额外的信息,比如这里需要地图作一个放大操作,那么我可以添加一个请求参数mapZoom,后面你会看到我们在服务器端会使用到这个mapZoom的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值