在使用AJAX开发站点的过程中,我发现了几个特别的地方:
1.ArcIMS客户端不用访问服务器上的页面即可启动
在我们普通的ArcIMS开发时候,如果要访问一个站点,一般是使用http://hostname/website/webname才能访问到站点的,这是因为我们在访问web服务器上的页面,必须使用http协议。但使用AJAX开发,无需这么复制,你就算是双击打开页面,站点也照样能够运行。这是因为我们在使用XHR在访问数据服务。
2.网站必须连接上网络
这是个让我迷惑不解的地方。这个网络,可以是局域网,也可以是Internet,但是必须链接上。地图才能正常返回出来,也就是XHR才能够正常访问到连接器Servlet。这么解决这个问题,我还没有寻找到原因,有知道的人麻烦告诉一声。
3.document.body.scrollleft和document.body.scrolltop始终为0
由于是webgis,与页面的交互是肯定的,这个时候我们需要获得鼠标在页面上的坐标,这个坐标为event.clientX和event.clientY。但是如果浏览器不是最大化,而是有滚动条出现,鼠标的实际位置就是client位置加上滚动偏移量。即MouseX = event.clientX+document.body.scrollleft,但是这个值总是为0,最后找到相关资料,应该改为:
MouseX=event.clientX + documdent.documentElement.scrollleft
MouseY=event.clientY+document.documentElement.scrolltop
4.AJAX的安全性
我们在AJAX访问IMS所遇到的安全性问题是源于javascript的“同源策略”,即JS不能访问外域的数据。举一个例子,在开发这个网站的时候,我使用的是本机名作为访问名,如http://zblog/esri.....等,但如果我将这个站点发布,希望外网用户使用IP或域名的方式访问我的站点,如http://130.130.71.1访问,我必须将源代码中的zblog换成IP才行。这是因为从IP端访问的请求是无法向一个非IP指定的服务发送AXL请求的。
5.Javascript的开发工具
JS的开发工具我使用的是Yaldex的1st javascript editor软件,这个软件非常棒,有自动提示和debug功能,使用起来得心应手。大家可以在许多下载站点上下载它的21天试用版,如果需要破解,可以到 http://revenge.crackdb.com/rlz/1st.javascript.editor.pro.3.8.cracked.exe-rev.zip 下载一个破解。