精通Grails: 用JSON和Ajax实现异步Grails - 编程入门网
分附加上去,然后使用熟悉的 Prototype 调用发出 Ajax 请求。
处理错误 为了简单起见,我在 <g:formRemote> 调用中省略了错误处理。因为正在调用一个远程服务( 尽管是通过一个本地控制器代理),所以提供某种反馈总比静默失败更好。将 displayError() 函数添加 到 plan.gsp 中的脚本块中,如清单 19 所示: 清单 19. 实现 displayError()
显然,这只是在 Show Nearby Hotels 链接下面的 hotels <div> 中应该正常显示结果的地方 显示错误。您正在将远程调用封装在一个服务器端控制器中,因此可以在这里加强错误处理。 将一个 hotels <div> 添加到前面添加的 hotels_link <div> 的下面,如清单 20 所示 : 清单 20. 添加 hotels <div>
您只需做一件事:添加一个函数,以便装载成功的 JSON 请求,并填充 hotels <div>。 处理成功 如清单 21 所示,最后一个函数以 Yahoo! 服务返回的 JSON 响应为参数,构建一个 HTML 列表,并 将它写到 hotels <div>: 清单 21. 实现 showHotels()
最后一次刷新浏览器,并输入两个机场。屏幕看上去应该如 图 1 所示。 这个例子到此结束,希望您自己继续完善它。您可以使用另一个 GMarker 数组在地图中标出宾馆。您 也可以添加 Yahoo! 结果中的其他字段,例如电话号码和街道地址。此外,您还可以进行其他实践。 结束语 只有大约 150 行代码,还不错吧?在本文中,您看到了在发出 Ajax 请求时,JSON 如何有效替代 XML。您看到了从本地 Grails 应用???序返回 JSON 是多么容易,并且从远程 Web 服务返回 JSON 也不 是很难。当在服务器端呈现 HTML 时,可以使用 Grails 标记,比如 <g:formRemote> 和 <g:linkRemote>。但是,知道如何使用 Prototype 提供的底层 Ajax.Request 调用对于真正动态 的 Web 2.0 应用程序是很关键的。 下一次,您将看到 Grails 的本地 Java Management Extensions(JMX)功能的应用。到那时,就可 以尽情享受精通 Grails 带来的乐趣! |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |