技术开发 频道

精通 Grails: 用 JSON 和 Ajax 实现异步 Grails

  进行 Ajax.Remote 调用

  在 plan.gsp 中的脚本块中添加一个新函数,如清单 18 所示:

  清单 18. 实现 loadHotels()

function loadHotels(){
  var url
= "${createLink(controller:'hotel', action:'near')}"
  url
+= "?lat=" + airportMarkers[1].getLatLng().lat()
  url
+= "&lng=" + airportMarkers[1].getLatLng().lng()
  
new Ajax.Request(url,{
    onSuccess:
function(req) { showHotels(req) },
    onFailure:
function(req) { displayError(req) }
  })
}

  在这里使用 Grails createLink 方法是安全的,因为当在服务器端呈现页面时,Hotel.near() 的 URL 的基本部分是不变的。可以使用客户端 JavaScript 将 URL 的动态部分附加上去,然后使用熟悉的 Prototype 调用发出 Ajax 请求。

0
相关文章