gpt4 book ai didi

ajax - Grails的简单AJAX示例

转载 作者:行者123 更新时间:2023-12-02 15:21:55 25 4
gpt4 key购买 nike

我是Grails的新手,我正在尝试学习AJAX在Grails中的工作方式。为此,我试图从here修改乘法AJAX示例,以便我的应用程序在页面上显示带有AJAX的输入字符串。 (为澄清这一点:用户输入例如“foo”,页面应在搜索字段下显示“foo”)

到目前为止,这是我的代码:

我的index.gsp模板,其中包含一个输入表单,并应显示以该表单键入的字符串:

<!doctype html>
<html>
<head>
</head>
<body>
<div id="search">
<g:render template="searchForm"/>
</div>
<div id="results">
<g:render template="searchResultForm"/>
</div>
</body>
</html>

我的 _searchForm.gsp模板,其中包括搜索表单:
<g:form>
<label for="suchen"></label><g:textField name="suchen"/>
<g:submitToRemote url="[controller:'search', action:'search']" update="results" value="Suchen"/>
</g:form>

我的 _searchResultForm.gsp模板将显示所有结果(在我的情况下,仅显示搜索字符串)
${results}

我的 SearchController将获得搜索字符串并返回相同的字符串:
class SearchController {

...

def search(String s) {
return s
}
}

我的问题是,在我将一些内容写入输入表单并按下发送按钮之后,什么也没发生。没有错误,但它也不会在输入表单下显示输入字符串。

您可能想知道为什么我要使用AJAX进行此操作:我的目的是实现AJAX搜索。当AJAX部件工作时,将搜索逻辑添加到 Controller 应该不是问题。

最佳答案

您应该显示您的searchResultForm模板。但是我想您的问题是您没有将模型正确地发送到gsp,也没有在响应中设置gsp

如果这是您的模板gsp:

<div>${s}</div>

您的操作必须是:
def search(String s) {
render template: 'searchResultForm', model:[s:s]
}

通过这种方式,该操作将生成要与给定模型一起发送的html,该html将由jquery呈现到div中。

关于ajax - Grails的简单AJAX示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33973095/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com