2014-01-09 33 views
0

我想在我的URL調用這樣的傳輸值:編輯:Ajax調用錯誤的URL

$.ajax({ 
    url : "/ajax/messages.html?lastClientMessage=" + lastClientMessage, 
    success : function(messages) {}, 
    error : function() {}, 
    cache : false 
}); 

我的服務器獲取以下信息,例如:

/AJAX /消息html的?lastClientMessage = 1389288516000 & _ = 1389289532718

我不知道什麼是 「& _ =」 的意思。我認爲這個網址是我的控制器無法處理請求的原因。我的控制器看起來像這樣:

@RequestMapping("/ajax/messages.html") 
    @ResponseBody 
    public List<Message> messages(@RequestParam(required = false) Long lastClientMessage) {} 

任何建議我做錯了什麼? 在此先感謝!

編輯:

謝謝你的第一個建議。我嘗試了幾件事情,現在我的Controller正在獲得正確的變量,但返回值沒有達到我的ajax函數。每次錯誤部分被調用。難道我做錯了什麼? List變量是正確的。

+1

因爲指定了'cache:false',所以添加了「&_ =」。請參閱http://api.jquery.com/jquery.ajax/。換言之,時間戳被添加以避免請求的頁面緩存。如果您認爲此參數可能會導致問題,那麼只需將其刪除並檢查是否確實存在問題。 –

+0

您可以在瀏覽器中嘗試示例網址,並檢查結果是什麼?例如:/ajax/messages.html?lastClientMessage=1389288516000 –

+0

也是FYI,參數「_」的值等於'new Date()。getTime()'在javascript中。並且請記住,只有通過添加'cache:false'才能確保緩存被禁用,您需要確保緩存的響應標頭可以使用過濾器進行適當設置。查看此鏈接瞭解更多信息。 http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html –

回答

0

檢查什麼是你變lastClientMessage,用途:

alert(lastClientMessage); 
$.ajax({ 
... 

必須打印正是 「1389288516000 & _ = 1389289532718」,所以問題是,當你填這個變量。

+0

有問題,已經指定服務器正確地獲取這些參數。 –

+0

變量lastClientMessage不是我的問題。 – Steckdoserich