以下是代码:
$.ajax({
url:"http://.....pullEntireDBPopulation.php",
cache:false,
datatype:"json",
success:function(popData){
alert("Population size: " + popData.length);
popProducers = new Array();
for(i=0;i<popData.length;i++){
popProducers[i] = popData[i].ProducerName;
}
});
}
我已经写了.PHP来从数据库中提取每一段数据,我已经在浏览器上查了一下,所以我知道不是那样的。尽管如此,每次我运行页面时,它都说数组大约是5000长,即使它比整个数据库大。这是怎么回事??? 如果它有帮助,它也说当我将数据写入数组时,它们在数组中是未定义的。因此,显然有一个数据被读入页面的问题,因为我知道它可以自己运行,但我无法弄明白。
答案 0 :(得分:0)
PopData是Object,而不是Array。然后length
可能无法正常工作。
出于同样的原因,您无法应用“for
”。
尝试
popData.size()
或$(popData).size()
popData.each(function(){ popProducers[i] = this.ProducerName; })
(或$(popData).each
...)
答案 1 :(得分:0)
我发现了问题。 datatype: "json"
dataType: "json"
显然与{{1}}不同,我讨厌像这样的愚蠢事情!由于我的大小写错误,因为它不是作为JSON读取它,它只是读取字符串而不是对象数组 - &gt;问题