我在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。 我不确定是否可以这样做。我愿意接受建议。
答案 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];
}
}
}
}
});
}