Grails 1.1 GSP 服务端的Ajax - 脚本为中心的Ajax与JavaScript

脚本为中心的 Ajax涉及实际返回的Javascript在客户端被赋值。这样的示例见下:def showBook = { def b = Book.get(params.id) response.contentType = "text/javascript" String title = b.title.encodeAsJavascript() render "$('book${b.id}_title')='${title}'" }要记住的重要事情是,设置contentType为text/javascript。

如果在客户端使用Prototype,由于设置了contentType,返回的Javascript将自动被赋值.

很明显,在这种情况下,它是关键性的,你有一个一致的client-sideAPI,因此,你不想客户端的改变破坏服务器端。

这就是Rails有些像RJS的理由之一。

虽然,Grails当前没有像RJS的一个特性,但动态Dynamic JavaScript Plug-in 插件提供了类似的能力.