2013-04-25 56 views
0

我有一个JavaScript函数的调用remoteFunction在我的GSP文件:Grails的remotefunction:不能访问PARAMS

function fnCreateEntitiesPerForceChart() { 
     var interval = $("#entitiesPerForceTimeIntervalSelect").val(); 
     interval = escape(interval); 
     var url = '${createLink(controller: 'federation', action: 'createEntitiesPerForceChart')}?interval='+interval; 
     $("#entitiesPerForceChart").attr("src", url); 
alert("interval is: " + interval); 
     ${remoteFunction(controller: 'federation', 
     action: 'getEntitiesPerForceTable', 
     params: '\'interval\''+':'+interval, 
     onSuccess: 'fnUpdateEntitiesPerForceTable(data,textStatus)')}; 
    } 

当我检查网页的源文件,该remotefunction创建此代码:

try{DojoGrailsSpinner.show();}catch(e){} dojo.xhr('Get',{content:{'interval':null}, preventCache:true, url:'/FederationReporter/federation/getEntitiesPerForceTable', load:function(response){ fnUpdateEntitiesPerForceTable(data,textStatus); }, handle:function(response,ioargs){try{DojoGrailsSpinner.hide();}catch(e){} }, error:function(error,ioargs){try{DojoGrailsSpinner.hide();}catch(e){} } });; 

为什么我的变量被替换为'null'?

谢谢!

+0

我无法找到网页的源文件中的函数调用。函数'fnUpdateEntitiesPerForceTable'在您的函数名为'fnCreateEntitiesPerForceChart'时被调用。你能解释一下你的问题吗? – micha 2013-04-25 19:09:03

+0

我是否有权假设您同时使用Jquery和dojo插件?如果没有,那么很可能你单独使用了dojo插件并试图为你的选择器使用jQuery语法,这可能不起作用... – Philippe 2013-04-29 15:14:04

回答

0

remoteFunction通话

params: '\'interval\': + interval'

0

尝试以此为params试试这个:

function fnCreateEntitiesPerForceChart() { 
    var interval = dojo.byId("entitiesPerForceTimeIntervalSelect").get("value"); 
    // [...] rest of your code 
}