對於我來說,在遊戲和工作使用jsRoutes這是非常非常痛苦弄清楚。
似乎播放(JavaScript)的會做一個Ajax使用以下語法GET沒有問題:
$.ajax(jsRoutes.controllers.MyController.ajax(inurlparam))
.done(function(data) {
}).fail(function(data) {
})
但是(在這裏是討厭的一部分)...如果你希望做一個POST你需要首先在網址上使用absolutURL()
方法,以便在發佈時間後讓ajax(或發佈)不要包含[object%20Object]
。調試網址或表單參數的數量似乎沒有說明發生了什麼,也沒有說明爲什麼。我只是從絕望的沮喪中毫不誇張地「猜測」了這個解決方案。 PS:請注意absolutURL()
末尾的括號 - js人們會立即得到那些意味着「做」的功能,而不僅僅是傳遞給我的句柄。
var url = jsRoutes.controllers.MyController.ajaxPost(inurlparam).absoluteURL();
var formData = $('#form').serialize();
$.ajax({
url: url,
type: "POST",
data: formData
}).done(function(data) {
}).fail(function(data) {
})
我在這裏回答這個問題,因爲這是谷歌在那裏帶領我一次,我終於意識到它可能不是我的編碼是造成問題的:)
什麼內容類型?你的數據在哪裏?這是你完整的ajax請求嗎?粘貼'$ .ajax'的完整代碼 – naveen
嘗試通過AJAX提交時[%5Bobject%20Object%5D(404找不到)]的可能重複(http://stackoverflow.com/questions/10357445/5bobject20object5d-404-not - 當試圖通過ajax提交時發現) –