发回给ajax调用的返回响应

时间:2012-02-15 05:08:52

标签: javascript ajax json

我在index.php中有一个ajax函数,它调用页面thread.php,它返回一个JSON响应(数组)。我基本上想要解析该数组,以特定的html格式显示它,获取该数组最后一行的最后一个值并将其发送回前面提到的同一个ajax调用。所以ajax基本上是一个循环。

function returnValue()
{
 $.ajax({
            async: true,
            type: "GET",
            url: "thread.php",
            data: {lastposted : dateposted},
            dataType: "json",

            success: function (json) {
                if(json) {
                    {
                        for (var i = 0, len = json.length; i < len; i++) {

                            var results = json[i];
                            var newDiv = $("<div><img src='" + results[0] +"'/>" + results[2] + results[3] + results[4] + results[5] + "</div><br>");
                           $('#chatContents').append(newDiv);
                           var dateposted = results[5];
                        }
                    }
                }
            }  
        });
}

在进行ajax调用时,需要将存储的dateposted值作为输入发送。 dateposted的默认值为0。 我不确定是否可以这样做。我愿意接受建议。

2 个答案:

答案 0 :(得分:1)

您可以使这更简单,您不需要使用扩展的GET语法:

var returnValue = (function() {
    var dateposted = 0;
    return function() {
        $.get("thread.php", { "lastposted": dateposted }, function(result) {
           // display your chats
           dateposted = result[result.length-1][5];
        }, "json");
    }
})();

答案 1 :(得分:0)

解决问题的一种简单方法是使用函数调用之外的默认值声明dateposted,并在循环中使用它来存储以存储最后一个值。并有一个新的Ajax函数调用。我希望这是你想要的。

function returnValue()
{

 var dateposted=0;
 $.ajax({
            async: true,
            type: "GET",
            url: "thread.php",
            data: {lastposted : dateposted},
            dataType: "json",

            success: function (json) {
                if(json) {
                    {
                        for (var i = 0, len = json.length; i < len; i++) {

                            var results = json[i];
                            var newDiv = $("<div><img src='" + results[0] +"'/>" + results[2] + results[3] + results[4] + results[5] + "</div><br>");
                           $('#chatContents').append(newDiv);
                           dateposted = results[5];
                        }
                    }
                }
            }  
        });
}