Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery动态更改ajax请求的数据值_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript Jquery动态更改ajax请求的数据值

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

我需要这个函数来计算每次插入消息的最后一个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
    }

}
);
但我总是有同样的错误,我看到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;
}