利用Ajax实现地理标记的保存与获取
1. Ajax简介与使用前提
在地理寻宝应用中,为了保存用户输入的标记信息,我们将使用Ajax与服务器进行通信。Ajax完全依赖于用户浏览器中运行的JavaScript,若JavaScript未运行,Ajax将无法工作。虽然有人认为仅基于JavaScript的Ajax接口可能不是最佳选择,并且通常建议为基于JavaScript的用户界面提供替代方案,但Google Maps API本身并未为禁用JavaScript的浏览器提供替代方案。因此,如果用户无法使用JavaScript,他们将无法看到地图。不过,对于其他Web工具,还是建议构建替代方案。
2. GXmlHttp与Prototype的Ajax.Request对比
为了与服务器通信,我们有两种选择:Google提供的集成Ajax对象GXmlHttp,以及Rails开发者常用的Prototype库中的Ajax.Request对象。以下是选择它们的理由:
| 选择 | 优点 |
| ---- | ---- |
| GXmlHttp | 1. 已包含在Google Maps JavaScript库中,无需额外引入或下载。
2. 若项目并非以JavaScript为中心,可能不需要Prototype提供的功能,此时可仅使用Google Maps JavaScript并利用GXmlHttp进行Ajax操作。
3. 若正在探索其他JavaScript库且未确定使用哪一个,使用GXmlHttp可确保无论采用何种补充库,Google Maps应用都能正常工作。 |
| Prototype的Ajax.Request | 1. 随Rails环境默