3

尝试使用 ajax呈现所有联系人(这是一个片段

因此,单击时,它将div在更新操作中列出联系人。我已经测试了一个基本的日期函数(请参阅注释掉的渲染操作控制器)以确保 ajax 部分可以工作并且确实可以工作,但是处理我遇到的列表并转圈圈

普惠制

<g:remoteLink controller="event" action="showContacts" update="divContactList">Show Contacts!</g:remoteLink>

<div id="divContactList">Show contacts Here...
    <g:each in="${contactList}" status = "i" var="contact">
       <p>${contact.forname}</p>            
       <p>${contact.email}</p>
    </g:each>
</div>

控制器

def showContacts = {
    def contactList = Contact.findAllByUser(lookupPerson())
//        render "The time is now ${new Date()}"
    render([contactList: contactList])        
}

因此,总体而言,它没有显示网页中的联系人列表中的任何内容,我们将不胜感激

4

2 回答 2

5

_templateName.gsp:

<g:each in="${contactList}" status = "i" var="contact">
       <p>${contact.forname}</p>            
       <p>${contact.email}</p>
    </g:each>

普惠制:

<g:remoteLink controller="event" action="showContacts" update="divContactList">Show Contacts!</g:remoteLink>

<div id="divContactList">Show contacts Here...
    <g:render template="layouts/templateName" model="[contactList: contactList]" />
</div>

控制器:

def showContacts = {
    def contactList = Contact.findAllByUser(lookupPerson())
//        render "The time is now ${new Date()}"
    render(template: 'layouts/templateName', model:[contactList: contactList])        
}
于 2012-12-31T00:58:16.380 回答
3

单击远程链接将向showContacts操作发送 AJAX 调用,获取 HTML 答案并使用返回的答案更新divContactList的内容。showContacts操作将呈现一个具有相同名称的模板,并将contactList 作为模型的一部分传递给它。如果您希望 AJAX 调用呈现联系人列表,您可以尝试以下选项之一:

  1. 以内容为中心的 Ajax - 让showContacts操作呈现一个显示联系人列表的模板
  2. 以数据为中心的 Ajax - 让showContacts操作发送表示联系人列表的 JSON/XML 响应,并让客户端 JavaScript 代码将此 JSON/XML 呈现为联系人列表
于 2012-12-30T22:37:01.833 回答