我是Grails的新手用户,我是AJAX的新手。我并没有完全理解AJAX的概念,而且在线资料是碎片化的。
根据我的理解,在grails中如果我想在我的一个控制器中执行一个方法,当我的HTML文档的一部分加载时,我可以简单地使用某些内容
<div onload="${remoteFunction(action:"foo", update:"foo"...)}" ...>
答案 0 :(得分:4)
在返回foo动作时,您可以将简单的html作为文本或渲染一些可在视图中使用的对象。
这里有关于“渲染”的所有信息
http://grails.org/doc/latest/ref/Controllers/render.html
您可以使用该数据更新并使用该数据。然后你可以像往常一样用javascript访问“foo”div里面的Html和数据。
例如:
Controller.groovy
// renders text to response
render '<div id="bar" onclick="alert($('bar').val())>some text</div>'
View.gsp
//Makes the call and updates foo
<div onload="${remoteFunction(action:"foo", update:"foo"...)}" ...>
<div id="foo" name="foo"></div>
输出
<div onload="theAjaxJavascriptFunctionThatGrailsWillInject" ...>
<div id="foo" name="foo">
<div id="bar" onclick="alert($('bar').val())">some text</div>
</div>
我从Controller.grooy返回一些对象然后你必须在你的View.gsp
中对待它//Makes the call and updates foo
<div onload="${remoteFunction(action:"foo", update:"foo"...)}" ...>
<div id="foo" name="foo">
${myObject.theValueIWant}
</div>
我添加了一个javascript提醒,但您可以按照自己喜欢的方式进行操作,有很多方法可以做到。
希望有所帮助:)