html - Ajax 和 Grails 傻瓜书

标签 html css ajax grails web-applications

我是 Grails 的新手,对 AJAX 完全陌生。我对AJAX的概念掌握得不是很透彻,网上的资料也比较零散。

根据我的理解,在 grails 中,如果我想在我的 HTML 文档的一部分加载时在我的一个 Controller 中执行一个方法,我可以简单地使用一些类似的东西

<div onload="${remoteFunction(action:"foo", update:"foo"...)}" ...>
  1. 调用假设的 foo 的响应是如何返回的,我如何在 js 函数中访问它?
  2. 我可以从我假设的 foo 操作创建的类中返回一个对象吗?

最佳答案

在 foo 操作的返回上,您可以将简单的 html 作为文本或渲染一些可以在 View 中使用的对象。

这里有 Controller “渲染”的所有信息

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 警报,但您可以按照自己喜欢的方式进行,有很多方法可以做到。

希望对您有所帮助:)

关于html - Ajax 和 Grails 傻瓜书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11551182/

相关文章:

javascript - 链接到另一个页面上的 javascript 链接

javascript - 清除输入字段的建议框

javascript - 如何用键盘滚动页面元素?

css - 背景不占用整个页面 Angular CSS

javascript - Web 浏览器中的模拟

jquery - 如何使用 javascript/jquery/AJAX 调用 Django REST API?

python - jinja flask 和循环属性

html - 使用 css -top 值移动一个 div 位置

javascript - 如何在 vanilla js 中打印整个对象属性值数组

javascript - 使用 ajax 检查复选框时发布值失败