我需要这个函数来计算每次插入的消息的最后一个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我看到它总是发送初始数字......它似乎很简单但我无法弄清楚什么是错的......你有什么建议做什么?
答案 0 :(得分:0)
尝试JSON.stringify
$("#conversazione").smartupdater({
url : "localhost/social/public/async/check-conversazione",
minTimeout: 2000,
type: 'POST',
data: JSON.stringify({'id':id,'last': getLast()}), ....etc...
});
答案 1 :(得分: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;
}