簡體   English   中英

jQuery動態更改Ajax請求的數據值

[英]Jquery dynamically change data value for ajax request

每當插入郵件的最后一個ID時,我都需要使用此函數來進行計算,但是這種方法不起作用,它總是發布初始編號

 $("#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,我看到它總是發送初始數字...這似乎太簡單了,但我無法弄清楚出了什么問題...您建議做什么?

試試JSON.stringify

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

您沒有更新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;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM