2016-08-09 59 views
0

App Info:Grails POST-Daten über Jquery AJAX

  • Grails 3.1.8
  • JQuery 2.2.0

Ich habe eine Grails Form, die Ich mag würde über AJAX POST. Ich bin dazu in der Lage und die Daten bleiben in der Datenbank bestehen. Code zu schreiben ist unten:

<g:javascript> 

    $('#insertSchool').submit(function() { 

     $.ajax({ 
      type: 'POST', 
      url: '/school/saveSchool', 
      data: $("#insertSchool").serialize(), 
      success: function(savedSchool) { 


      } 

     }); 

    }); 

</g:javascript> 

Controller-Code:

def saveSchool(School newSchool) { 

    def theSchool = schoolService.saveSchool(newSchool) 

    render theSchool as JSON 
} 

In der Erfolgsfunktion ich auf eine andere Seite umleiten möchten und eine Botschaft sagen, die Schule gespeichert wurde senden. Ich bin neu in Jquery und kann das nicht umsetzen. Jede Hilfe wäre willkommen.

+0

window.location = '/ Schule/Erfolg'; – chf

+0

Warum würden Sie Ajax verwenden, wenn Sie Benutzer woanders umleiten? –

+0

Für die Fehler-Methode, die ich noch nicht implementiert habe. Ich möchte die Fehlermeldungen auf dem Formular anzeigen – kulsoompatel

Antwort

0

Sie können die Remote-Funktion verwenden, um eine andere Seite umzuleiten.

<script> 
    $('#insertSchool').submit(function() { 
     ${remoteFunction(action: 'xyz', controller:'xyz',method: 'post', 
      params: 'variable:value',onSuccess: 'redirectFunction();')}; 
    } 

    function redirectFunction(){ 
     alert("the school has been saved"); 
     // AGAIN USE A REMOTE FUNCTION TO REDIRECT ON ACTION (your gsp page) 
    } 

</script> 
+0

Ich benutze Grails 3.1 .8 und das remoteFunction-Tag wurde eingestellt. Sehen Sie - http://docs.grails.org/3.0.0.M1/ref/Tags/remoteFunction.html – kulsoompatel

+0

dieser Link kann Ihnen helfen-> \ http: //stackoverflow.com/questions/25245689/since-gremotefunction- in-grails-2-4-x-is-deprecated-what-sollte-ich-verwenden-stattdessen –