ajax 成功后呈现 gsp 页面

Rendering a gsp page after an ajax success

我想在 ajax 调用返回成功后在 fancybox 中呈现 gsp 页面。

我做了以下事情:

   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])
}

有人能告诉我应该怎么做吗?

为什么不尝试改写 div 的内容。它会不那么乏味,更完美。

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