2011-09-30 46 views
0

嗨我想要調用一個URL使用JQUERY附加到它的參數。參數值來自頁面對話框中的文本字段。當我調用沒有填充參數值的URL(即if內的url)時,它執行得很好,但是當我在對話框中輸入值並運行它時,會給我groovy.lang.MissingMethodException。
我警告在這兩種情況下的網址,並適當顯示值。
我也相應處理3個PARAMS控制器DEF runUserReport 這裏是代碼片段groovy.lang.MissingMethodException

function runJasperReport() { 
var myurl=""; 
var from_date=$('#from_date').val(); 
var to_date=$('#to_date').val(); 
var user_id=$('#user_id').val(); 
if(!from_date ||!to_date ||!user_id) 
            { 
         myurl='/gra/reports/runUserReport?fromdate=&todate=&userid='; 
        } 
        else{ 
         myurl='/gra/reports/runUserReport?fromdate='+from_date+'&todate='+to_date+'&userid='+user_id+''; 
          } 
    alert(myurl); 
jQuery.ajax({ 
     url: myurl, 
     dataType: 'html', 
     timeout: 3000, 
     beforeSend: function() { 
      jQuery('#demo').html('<center><div style="width: 70px; height: 100px; display: inline-block;margin-top: 120px;"></div></center>') 
     }, 
     success:function(data,textStatus){ 
      jQuery('#demo').html(data); 
     }, 
     error:function(XMLHttpRequest,textStatus,errorThrown){} 
    }); 
    return false; 

錯誤接收:

groovy.lang.MissingMethodException: No signature of method: gra.ReportsController.$() is applicable for argument types: (gra.ReportsController$_closure8_closure9) values: [[email protected]] 
Possible solutions: is(java.lang.Object), any(), use([Ljava.lang.Object;), any(g 
roovy.lang.Closure), getG(), wait() 

回答

2

你的請求URL

/gra/reports/runUserReport

告訴Grails應該有一個reportsController的方法runUserReport就可以了。然而,Grails是說該URL呼籲方法$(),即讓你的要求看起來像

/gra/reports/$()

事情是,當你設置的URL並觸發請求之間發生的事情。查看webkit/firebug和發送的ajax,並驗證網址是您的想法。

相關問題