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はオブジェクトであり、配列ではありません。そして、length正しく動作しない可能性があります。同じ理由で、「」を適用することはできませんfor

試す

popData.size()また$(popData).size()

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

于 2012-07-27T19:12:59.107 に答える
0

問題を見つけました。どうやらこのような愚かなことで私が嫌うdatatype: "json"のと同じようにはレンダリングされません!dataType: "json"キャピタライゼーションエラーのためにJSONとして読み取っていなかったため、オブジェクトの配列ではなく文字列を読み取っていました->問題。

于 2012-07-30T17:48:37.030 に答える