0
我想從我的控制器中呈現一個對象到一個jQuery回調函數。 這就是我試圖做到這一點:Grails/jQuery - 從Controller到jQuery函數呈現JSON對象
調用的jQuery的Ajax功能
function addVideo() {
var url = "/myApp/project/addVideo"
var data = 'videoURL=' + $('#videoUrlInputText').val()
$.getJSON(url,
{
videoURL: $('#videoUrlInputText').val()
},
updateVideoLoad(data)
)
}
我的Grails項目「控制器
def addVideo() {
def videoMap = [urlAccepted: "bim", provider: "bam"]
render videoMap as JSON
}
我的jQuery的回調函數(updateVideoLoad( ))
function updateVideoLoad(videoMap) {
$('h4').html('Provider: ' + videoMap.provider)
}
我最終在瀏覽器中獲得undefined
輸出。瀏覽器控制檯沒有任何內容 控制器輸出經過測試並正確呈現JSON對象。
任何想法爲什麼對象沒有被回調函數正確讀取? 任何建議是最受歡迎的。
在此先感謝。
賓果。將我的函數調用封裝到「function(data){}」中解決了它。我不確定爲什麼該功能沒有正確解決。 你的意思是「它不只是一個函數名稱」? 非常感謝! – 2012-04-02 17:51:11
如果你有一個像這樣定義的函數:'function updateVideoLoad(data,status,jqxhr){...}'你可以在像這樣的ajax調用中引用它:'success:updateVideoLoad'或者$ .getJSON(url ,data,updateVideoLoad);'擁有'fn(data)'使得它立即被觸發,而不是作爲回調(稍微猜測)。 – davethegr8 2012-04-02 17:55:11
感謝您的解釋 – 2012-04-02 19:01:55