2013-05-08 91 views
0

我需要這個功能用來計算每封郵件的最後一個ID插入時間的數據值,但這種方式是不行的,它總是發佈初始數量jQuery的動態改變Ajax請求

$("#conversazione").smartupdater({ 
url : "localhost/social/public/async/check-conversazione", 
minTimeout: 2000, 
type: 'POST', 
data: { 
    'id': id, 
    'last': $(".messaggioAltri:first").attr("data-number-message") 
}, 
dataType: 'JSON' 
}, 
function (data) { 

    if(data.aggiornamenti==1){ 

     $.each(data.messaggi, function(indice, message){ 

         mess="<div class='singoloMessaggio'> data-number-message="+message.number+">" 
           .... 
           "</div>"; 

         $(mess).hide(); 
         $(mess).css({'background-color': '#FF7519'}); 
         $('#messaggiConversazione').prepend(mess); 
         $(mess).fadeIn(1000); 
         $(mess).removeAttr("style");       
        }); 


    }else{ 
     //nothing 
    } 

} 
); 

我也試圖用一個函數來代替,一樣的東西:

$("#conversazione").smartupdater({ 
url : "localhost/social/public/async/check-conversazione", 
minTimeout: 2000, 
type: 'POST', 
data: { 
    'id': id, 
    'last': getLast() 
},....etc... 

function getLast(){ 
return $(".messaggioAltri:first").attr("data-numero-messaggio"); 
} 

但我一直有同樣的錯誤,與fierbug我看到它總是發送初始數字......這似乎是洙簡單,但我想不出怎麼了......你建議做什麼?

+0

smartupdater()可能得到值首次初始化時,並改變這種行爲以獲取每個呼叫的價值,你可能要改變插件。 – adeneo 2013-05-08 16:31:11

回答

0

嘗試JSON.stringify

$("#conversazione").smartupdater({ 
url : "localhost/social/public/async/check-conversazione", 
minTimeout: 2000, 
type: 'POST', 
data: JSON.stringify({'id':id,'last': getLast()}), ....etc... 
}); 
+0

還是一樣的錯誤...你是否也認爲我應該改變插件? – IceCube 2013-05-08 17:19:57

+0

包含來自http://www.json.org/js.html的json js lib – eka 2013-05-08 18:31:58

0

你不更新id,所以它總是具有相同的價值。

你應該在回調函數改變它的價值,像

if(data.aggiornamenti==1){ 
    //I'm assuming the latest update is the last in the array 
    id = data.aggiornamenti[data.aggiornamenti.length -1].id; 
} 
+0

data.aggiornamenti是一個簡單的布爾值,如果存在一些新消息,則包含1,否則包含0。新消息保存在一個不同的變量,它在data.messages,我試着做: ultimo = data.messaggi [data.messaggi.length-1]; lastMessageId = ultimo.numero; 但我有同樣的問題... – IceCube 2013-05-08 18:26:29