我有点困惑,为什么以下不起作用。
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',为什么元素会像我期望的那样单个条目?
任何人都可以伸出援手吗?
谢谢!
更新
$.get("get.php", function(data){
arr = $.parseJSON(data);
alert(arr);
}, "json");
似乎没有返回结果?
答案 0 :(得分:4)
data
包含一个JSON字符串,因此arr[2]
将是字符串中的第三个字符。您需要使用$.parseJSON(data)
。
答案 1 :(得分:3)
您的PHP声称JSON是HTML。你需要明确地说它是JSON来让jQuery自动处理它。
header("Content-type: application/json");
答案 2 :(得分:0)
通过header('Content-type: application/json');
在php中发送json标头,这样jQuery就会自动解码你的json数据。
答案 3 :(得分:0)
您无法将数据值提供给数组。
$.get("get.php", function(data){
alert(data[2]);
}, "json");