我是grails和JQuery的新手, 我在调用url时遇到了这个问题,目前使用这样的标签调用它:
$ {fieldValue(bean:userInstance,field:“employeeid”)}
单击此链接时,URL将更改为/ myapp / users / userEdit /“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的值并呈现页面。
现在我尝试使用jquery.ajax()这样调用来调用另一个页面的userEdit动作
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。
如果我没有直接在调用的url中传递empid,并把它作为'id':empid在调用的数据部分,它不会正确转发。
我需要知道如何调用相应的URL并传递调用中的所有参数
答案 0 :(得分:0)
我有两条建议:
所以必须如下:
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;}
});