我有下面的代碼在我的GSP我如何獲得grails remoteFunction的工作?
<select onChange="${remoteFunction(action:'superior', controller:'employee', params: '\'name=\' + this.value')}">
<option>first</option>
<option>second</option>
</select>
具體而言,這段代碼是我_form.gsp文件。在EmployeeController的操作如下:
def superior() {
println 'in here'
println 'these are the params: ' + params
}
它可能看起來荒謬,但在這裏,我的目標只是能夠調用我的遠程操作,並通過所選擇的值。但是我沒有看到任何內容被打印到控制檯上。如果我按如下方式直接鍵入網址:
app-name/employee/superior
我在輸出中看到了我的打印語句。那麼我在這裏錯過了什麼?我基本上遵循瞭如何從grails文檔(http://grails.org/doc/2.0.x/ref/Tags/remoteFunction.html)進行設置,並且我有了JQuery插件。 如果我在onChange事件(如警報)上使用簡單的javascript函數,它可以正常工作。所以我確定我的瀏覽器沒有關閉javascript,我已經用幾個瀏覽器實際測試過了。 我很確定它的東西很簡單,我很想念。提前致謝。
我檢查了與螢火蟲的JavaScript,我沒有看到一個錯誤。這是爲onchange生成的javascript jQuery.ajax({type:「POST」,data:「name =」+ this.value,url:「/ myapp/employee/superior」,success:function(data,textStatus) {},error:function(XMLHttpRequest,textStatus,errorThrown){}});'爲了測試這個,我實際上創建了一個全新的grails應用程序,只用名字和姓氏創建僱員域類,然後生成視圖和控制器。然後,我將選擇的代碼塊粘貼到我的_form.gsp中,並將操作粘貼到我的控制器中並進行測試。我錯過了一步嗎? – Mark 2012-04-01 16:28:44
發生了HTTP請求嗎?你可以檢查使用螢火蟲?如果有,那麼你會在控制檯標籤中看到它。 – Chris 2012-04-01 16:51:45
感謝您的提示。 Firebug說「JQuery沒有定義」所以我在網上尋找了一些類似的錯誤。我不得不將以下內容添加到我的main.gsp文件的頭部分。 ' '然後我在控制檯上看到了我的輸出。所以感謝從另一個角度幫助我進行調試,我只是從我的源代碼進行調試。 –
Mark
2012-04-01 17:41:00