Передача параметров в URL-адресе в Grail, JQuery - PullRequest
0 голосов
/ 23 ноября 2011

Я новичок в Grails и JQuery, у меня возникла проблема с вызовом URL, в настоящее время он вызывается с использованием тега, подобного следующему:

$ {fieldValue (bean: userInstance, field: employeeid))}

при переходе по этой ссылке URL-адрес изменяется на / myapp / users / userEdit / "value employeeid".почему employeeId добавляется в URL следующим образом

В контроллере действие userEdit определяется следующим образом:

 def userEdit={
            if(params.id!=null && params.id.toString().trim().length()>0){
                log.info("Returning UserInstance whose employee Id: "+params.id)
                def userInstance= Users.findByEmployeeid(params.id.toString().trim());
                if (params.fromdate!=null && params.todate!=null && params.resourceId!=null)  {   
render(view:"actEdit",model:[userInstance:userInstance,fdate:params.fromdate,tdate:params.todate,resId:params.resourceId])   
                  }
                else {render(view:"actEdit",model:[userInstance:userInstance]) }
         } }

в основном проверка значения id и рендеринг страницы.

Теперь я пытаюсь вызвать действие userEdit с другой страницы с помощью вызова jquery.ajax (), подобного этому

function drillchart(empid){
var empid =empid
 jQuery.ajax({
               url: '/myapp/users/userEdit'+empid,
                data:{
               'fromdate':fromdate,
                'todate':todate,
                'resourceId':res_id
                },
                 dataType: 'html',
                 timeout: 10000,
     beforeSend: function() { jQuery('#userStatisticsDiv').html(/spinner.gif)},
     success: function(data) { window.location = myurl;}
                              });

Проблема в том, что параметры данных fromdate, todate, resourceId не передаются, следовательно, вдействие всегда происходит внутри else.

Если я не передаю empid непосредственно в URL-адресе вызова, и поставлю его как 'id': empid в разделе данных вызова, он не будет перенаправлен должным образом,

Мне нужно знать, как вызвать соответствующий URL и передать все параметры в вызове

1 Ответ

0 голосов
/ 23 ноября 2011

У меня есть два предложения для вас:

  1. Проверьте косую черту в конкатенации параметра url.
  2. Не используйте двоеточия в именах переменных.

Так и должно быть:

jQuery.ajax({
   url: '/myapp/users/userEdit/'+empid,  //Check if the last slash is needed
   data:   {
             fromdate:fromdate,
             todate:todate,
             resourceId:res_id
           },
   dataType: 'html',
   timeout: 10000,
   beforeSend: function() { jQuery('#userStatisticsDiv').html(/spinner.gif)},
   success: function(data) { window.location = myurl;}
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...