我是Grails的新手,现在我正尝试使用AJAX从 Controller 到模板检索对象/模型。我想这样做,以便使messageBox模板可以访问sms属性,但这总是返回一个空值。有人可以帮我吗?任何答案将不胜感激,这是我当前的代码。
在我的客户上
<g:form>
<label for="id">Sms ID </label>
<g:textField name="id" />
<g:submitToRemote value="search" update="msgBox"
url="[controller:'sms', action:'send']"/>
</g:form>
<g:render template="messageBox" model="${[sms:sms]}/>
SmsController{
def send = {
def sms = new Sms(...)
//assume properties have been set
...
...
render(template: messageBox, model:[sms:sms])
}
}
<div id="msgBox">
<span>Sms Property 1: ${sms?.property1}</span>
<span>Sms Property 2: ${sms?.property2}</span>
<span>Sms Property 3: ${sms?.property3}</span>
</div>
最佳答案
这里似乎有一些后勤错误
首先,您似乎在两次租用messageBox模板。在您的“客户端” gsp中,您正在 call ...
<g:render template="messageBox" model="${[sms:sms]}/>
render(template: messageBox, model:[sms:sms])
<g:form>
<label for="id">Sms ID </label>
<g:textField name="id" />
<g:submitToRemote value="search" update="msgBox"
url="[controller:'sms', action:'send']"/>
</g:form>
<div id="msgBox">Waiting for some AJAX!</div>
https://stackoverflow.com/questions/6653607/