[英]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.