2016-01-19 1 views
1

Je veux rendre une page gsp dans une fancybox après que l'appel ajax a renvoyé un succès.Rendu d'une page gsp après un succès ajax

Je l'ai fait ce qui suit:

function editCompanyProfile(companyProfileId){ 
    $.ajax({ 
     url: '${createLink(controller: 'benefitContract',action: 'editCompanyProfile')}', 
     type: 'POST', 
     data: {id:companyProfileId}, 
     success: function (data) { 
      $.fancybox({ 
      /* I need to render a gsp here */ 
      }) 
     } 
    }) 

}

 def editCompanyProfile(){ 
      def isroleAdministrator=false 
    if (User.findById(session.userId).allAuthorities?.contains('ROLE_ADMINISTRATOR')){ 
     isroleAdministrator=true; 
    } 
    render(template:"/benefitContract/companyProfile",model:[isroleAdministrator:isroleAdministrator,companyProfile:params.id]) 
} 

Quelqu'un pourrait-il me dire comment devrais-je aller à le faire? Pourquoi ne pas essayer de substituer le contenu de la div à la place?

Répondre

0

Ce sera moins fastidieux et plus immaculé.

function editCompanyProfile(companyProfileId,groupId){ 
    $.ajax({ 
     url: '${createLink(controller: 'benefitContract',action: 'addEditCompanyProfile')}', 
     type: 'POST', 
     data: {sourceId:companyProfileId,groupId:groupId}, 
     success: function (data) { 
      $('#companyProfile').html(data); 
     } 
    }) 
} 
+1

... J'ai essayé comme vous l'avez dit et cela m'a donné le résultat que je voulais. Vous avez raison au lieu d'ouvrir une nouvelle boîte de fantaisie en surchargeant le contenu de la div est beaucoup plus efficace. –