来自JQuery AJAX的JSON调用比数据库本身更大

时间:2012-07-27 19:00:49

标签: javascript jquery ajax database json

以下是代码:

$.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长,即使它比整个数据库大。这是怎么回事??? 如果它有帮助,它也说当我将数据写入数组时,它们在数组中是未定义的。因此,显然有一个数据被读入页面的问题,因为我知道它可以自己运行,但我无法弄明白。

2 个答案:

答案 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;问题