2013-04-24 2 views
0

Я беру на себя проект от инженера, который покинул мою компанию, и мне нужно быстро подойти к скорости на Grails, так что если это вопрос о нобе, ну, я noob.Grails RemoteFunction создает плохой javascript

В одном из одного из моих файлов GSP, я получил remoteFunction вызов в середине функции JavaScript:

function fnCreateEntitiesPerForceChart() { 
     var interval = $("#entitiesPerForceTimeIntervalSelect").val(); 
     var url = '${createLink(controller: 'federation', action: 'createEntitiesPerForceChart')}?interval='+escape(interval); 
     $("#entitiesPerForceChart").attr("src", url); 

     ${remoteFunction(controller: 'federation', 
     action: 'getEntitiesPerForceTable', 
     params: '\'interval=\'+interval', 
     onSuccess: 'fnUpdateEntitiesPerForceTable(data,textStatus)')}; 
    } 

Это remoteFunction вызов был отправлен клиенту, как:

try{DojoGrailsSpinner.show();}catch(e){} dojo.xhr('Get',{content:{'interval='+interval}, 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){} } });; 

Что вызывает ошибку: SyntaxError: отсутствует: после того, как свойство ид ...) {} dojo.xhr ('Get', {содержание: { 'интервал =' + интервал}, preventCache: правда, url: '/ Fed ...

федерации (линия 400, цв 60) (который является полужирным '+' до второго 'интервала'

Что мне не хватает?

ответ

1

Dojo content должен быть ключ-значение.

{content:{'interval': interval}

+0

Хорошо, но как я могу изменить вызов remotefunction так, что генерируется лучше додзё линия? – JeffW

+0

Изменен параметр params: '\' interval \ '' + ':' + interval, и он дал мне действительную пару содержимого. Благодаря! – JeffW

+0

На этот раз проблема была действительно в вашем коде. Если вы хотите изменить вызов remoteFunction или что-то, что предоставляется плагином grails dojo, вам придется разветвить проект на https://github.com/cfxram/grails-dojo и вместо этого использовать свою вилку. – Philippe

Смежные вопросы