首先抱歉,如果我遗漏了一些简单的东西,今天就开始使用AJAX了。我有一个问题,我试图从我的数据库中获取信息,但不同的记录有不同的值。例如,每条记录都有一个“功能”列。在features列中,我存储了一个字符串。 (例如:Feature1~Feature2~Feature3~Feature4 ...)当我构建对象时,我将字符串拆分并将所有要素存储到数组中。有些对象可以有1个功能,其他对象可以有任何功能。那么......如何从我的php页面将这些值返回给我的ajax函数?下面是我正在尝试的ajax函数,我将提供与我的php文件的链接。 [next.php:http://pastebin.com/SY74jV7X]
$("a#next").click(function()
{
$.ajax({
type : 'POST',
url : 'next.php',
dataType : 'json',
data : { nextID : $("a#next").attr("rel") },
success : function ( data ) {
var lastID = $("a#next").attr("rel");
var originID = $("a#next").attr("rev");
if(lastID == 1)
{
lastID = originID;
}
else
{
lastID--;
}
$("img#spotlight").attr("src",data.spotlightimage);
$("div#showcase h1").text(data.title);
$("div#showcase h2").text(data.subtitle);
$("div#showcase p").text(data.description);
$("a#next").attr("rel", lastID);
for(var i=0; i < data.size; i++)
{
$("ul#features").append("<li>").text(data.feature+i).append("</li>");
}
/*
for(var j=1; j < data.picsize; j++)
{
$("div.thumbnails ul").append("<li>").text(data.image+j).append("</li>");
}
*/
},
error : function ( XMLHttpRequest, textStatus, errorThrown) {
$("div#showcase h1").text("An error has occured: " + errorThrown);
}
});
});
答案 0 :(得分:3)
首先在next.php
文件中替换以下内容:
for ( $i=0; $i < $arraySize; $i++ )
{
$return['feature'.$i.''] = $features[0];
}
使用:
$return['features'] = $features;
P.S:当前的代码是错的,你应该有... = $features[$i];
,你不需要只是按原样发送数组。然后在JS部分替换:
for(var i=0; i < data.size; i++)
{
$("ul#features").append("<li>").text(data.feature+i).append("</li>");
}
使用:
$.each(data.features, function(k,v){
var li = '<li>' + v + '</li>';
$("ul#features").append(li);
});
这样,不再需要data.size
。