Ich weiß, das ist ein wiederkehrendes/klassisches Thema, aber ich habe nichts gefunden, das mir bisher geholfen hat. Ich versuche eine Karte von meinem Controller zu rendern. Dies resultiert aus einer Ajax-Anfrage und soll von einer Javascript-Funktion 'onSuccess' "aufgefressen" werden.Grails - render Karte vom Controller über Ajax mit JSON
Hier ist meine Javascript und .gsp Ansicht:
<g:javascript>
function updateVideoLoad(e) {
var map = eval("("+e.responseText+")") // evaluate the JSON
$('#resultsChecker').html(map.urlAccepted + ' - ' + map.provider + ' - ' + map.videoId + ' - ' + map.videoTag)
}
</g:javascript>
<g:formRemote name="myForm" update="" url="[controller: 'project', action:'addVideo']" onSuccess="updateVideoLoad(e)">
...
</g:formRemote>
Hier sind meine Controller:
import grails.converters.JSON
class ProjectController {
def addVideo() {
...
def videoMap = [urlAccepted: videoList[0], provider: videoList[1], videoId: videoList[2], videoTag: videoList[3]]
render videoMap as JSON
}
Es mir genau so, wie die in den Grails documentation vorgesehenen Beispiel sieht . Es funktioniert jedoch nicht. Auf der Browser-Konsole, die ich erhalten:
Uncaught ReferenceError: e is not defined
von meinem g:remoteForm
.
Jeder Vorschlag ist sehr willkommen. Vielen Dank für Ihre Hilfe.
ist dies ein Tippfehler in Code oder Frage?! = g: remoteForm> –
dbrin
Entschuldigung, ich habe den Post bearbeitet, um ihn zu korrigieren. Dies war nicht im ursprünglichen Code. –