私は以下の理由で少し混乱しています。JSON経由でjquery配列にPHP配列
get.php
<?php
$username="root";
$password="root";
$database="testing";
mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die("Unable to select database");
$name= $_GET['name'];
$query="SELECT * FROM tableone ";
$result=mysql_query($query);
$num=mysql_numrows($result);
mysql_close();
$array = array();
$i=0;
while ($i < $num) {
$first=mysql_result($result,$i,"firstname");
$last=mysql_result($result,$i,"lastname");
$date=mysql_result($result,$i,"date");
$ID=mysql_result($result,$i,"id");
$array[] = $first;
$i++;
}
echo json_encode($array);
?>
jQueryの
var arr = new Array();
$.get("get.php", function(data){
arr = data;
alert(arr);
}, "json");
私は次のことを実行すると、私はこの
["James","Lydia","John"]
しかし、ときのように見える名前のリストを取得します私はarr [2]のようなエントリ、私はちょうど 'J'を与えます、なぜそれは要素が私が期待するような単一のエントリをarntするのですか?
誰でも手渡しできますか?
ありがとうございます!
更新
$.get("get.php", function(data){
arr = $.parseJSON(data);
alert(arr);
}, "json");
は、結果を返すように思えないのですか?
データはまだJavaScript配列に解析されておらず、 'arr'はまだ文字列です。それ以外の場合、 'alert(arr)'は 'James、Lydia、John'を出力します。 –
副詞として、 'var arr = new Array();'は何もしません。なぜなら、後でその変数に別の値を割り当てるからです。 –