0

这是代码:

$.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 长,尽管它比整个数据库都大。这是怎么回事???如果它有帮助,它还说当我将数据写入数组时,它们在数组中是未定义的。因此,数据被读入页面显然存在问题,因为我知道它可以独立工作,但我无法弄清楚。

4

2 回答 2

0

PopData is Object, not Array. And then length can work uncorrectly. For the same reason you can not apply "for".

Try

popData.size() or $(popData).size()

popData.each(function(){ popProducers[i] = this.ProducerName; }) (or $(popData).each...)

于 2012-07-27T19:12:59.107 回答
0

我发现了问题。datatype: "json"当它是这样愚蠢的事情时,显然不会像dataType: "json"我讨厌的那样呈现!由于我的大写错误,它没有将它作为 JSON 读取,它只是读取字符串而不是对象数组--> 问题。

于 2012-07-30T17:48:37.030 回答