Javascript Jquery动态更改ajax请求的数据值
我需要这个函数来计算每次插入消息的最后一个id,但这种方法不起作用,它总是发布初始编号Javascript Jquery动态更改ajax请求的数据值,javascript,jquery,ajax,Javascript,Jquery,Ajax,我需要这个函数来计算每次插入消息的最后一个id,但这种方法不起作用,它总是发布初始编号 $("#conversazione").smartupdater({ url : "localhost/social/public/async/check-conversazione", minTimeout: 2000, type: 'POST', data: { 'id': id, 'last': $(".messaggioAltri:first").attr("data-nu
$("#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
}
}
);
但我总是有同样的错误,我看到Firebug总是发送初始数字…看起来很简单,但我无法找出问题所在…你建议怎么做?试试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;
}
smartupdater()可能在首次初始化时获取值,要更改该行为以获取每次调用的值,您可能必须更改插件。仍然是相同的错误。。。你也认为我应该更改插件吗?data.aggiornamenti是一个简单的布尔值,如果有新消息,则包含1,如果没有,则包含0。新消息保存在另一个变量中,它位于data.messages中,我尝试过这样做:ultimo=data.messaggi[data.messaggi.length-1];lastMessageId=ultimo.numero;但我也有同样的问题。。。
if(data.aggiornamenti==1){
//I'm assuming the latest update is the last in the array
id = data.aggiornamenti[data.aggiornamenti.length -1].id;
}