2008-10-17 9 views
2

Est-ce que quelqu'un sait comment lancer une requête POST dans une application Grails en utilisant javascript. Plus précisément, je voudrais être en mesure de POST lorsque l'élément sélectionné dans une liste déroulante est modifié.Postback Javascript dans Grails

J'ai essayé d'utiliser jQuery et la méthode $ .post(). Il appelle avec succès mon action de contrôleur, mais je ne suis pas sûr de savoir comment actualiser la page avec le contenu de la réponse. L'écran n'est pas mis à jour. Des idées? Cela n'a pas besoin d'être asynchrone.

Je ne suis pas lié à l'utilisation de jQuery, j'essaie juste de comprendre comment faire un POST à ​​partir d'un javascript.

Andrew

Mon côté client javascript

<script type="text/javascript" language="javascript"> 
    $(document).ready(function() { 
    $("#ownerId").change(function() { 
     $.post("/holidayCards/clientContact/ownerSelected", {ownerId: this.value}); 
     }); 
    }); 

Répondre

4

Trouver l'objet de formulaire dans les DOM que vous recherchez et cal .submit() sur elle. Avez-vous plus d'un formulaire ou plusieurs sur votre page?

+0

Je n'ai pas fait un élément de formulaire sur ma page ... donc je suppose que l'aide d'un POST était une supposition incorrecte de ma part. Initier un GET suffirait .... mais je vais mettre un formulaire autour de ma liste déroulante et essayer ce que vous avez suggéré. – anschoewe

+0

Si tout ce que vous voulez est un GET, vous pouvez simplement mettre à jour la propriété 'window.location'. –

0

Vous mentionnez qu'il appelle votre action de contrôleur afin qu'il récupère des informations sur la page qui pose problème, n'est-ce pas?

Essayez quelque chose comme ceci:

def ajaxRandom = { 
     def randomQuote = quoteService.getRandomQuote() 
     response.outputStream << "<q>${randomQuote.content}</q>" 
    } 

Tous vos besoins Page gsp est:

<q>${quote.content}</q>