/ / Formáty grilovDôvo: prečo to vždy presmeruje? - ajax, grily, grily-ovládač

Graily formRemote: prečo to vždy presmeruje? - ajax, grail, grail-kontroler

Snažím sa používať značku g: formRemote v gráli.

V definícii hlavy:

 <g:javascript library="prototype" />

vyhliadka:

<g:formRemote name="something" update="remoteDocsBlock"
url="[ controller: "document",
action: "search"]">

search: <input name="searchstring" type="text"></input>

<g:actionSubmit value="Search" action="search" />

<g:render template="/document/remoteSearchList" model="[docs:docs]" />

</g:formRemote>

<div id="remoteDocsBlock">this div is updated with the result...</div>

v mojom regulátore

def search = {
.....
render (template:"remoteSearchList", model: [docs:docs])

}

problém

Čo sa stane: zavolá sa do radiča a celá stránka sa nahradí výsledkom radiča - šablóny _remoteSearchList. Rôzne volanie Ajaxu na stránke funguje. Nemám tušenie, prečo sa grály takto správajú.

aktualizovať

Odstránil som problém „__“. Komentár túto otázku vyriešil.

aktualizovať

Izoloval som problém: JQuery. Na webe tiež používam JQuery. Ak je odstránené, volanie ajaxu funguje ... musí nájsť spôsob, ako zabezpečiť, aby obidve fungovali.

<g:javascript library="jquery-1.4.4.min" />
<g:javascript library="jquery-ui-1.8.7.custom.min" />
<g:javascript library="jquery-server-extentions" />

odpovede:

1 pre odpoveď č. 1

Oh, zdá sa, že je to kvôli konfliktu s Prototypom (predvolene dodávaný s programom Grails) a jQuery. Vzdialené hovory sa uskutočňujú prostredníctvom protokolu prototyp lib, ale ak nainštalujete jQuery plugin pre grály - začne používať jQuery pre vzdialené hovory.