我从一个新的网站开始(这是我的第一个),我遇到了很大的麻烦!我写了这段代码
<?php
include("misc.inc");
$cxn=mysqli_connect($host,$user,$password,$database) or die("couldn't connect to server");
$query="SELECT DISTINCT country FROM stamps";
$result=mysqli_query($cxn,$query) or die ("couldn't execute query");
$numberOfRows=mysqli_num_rows($result);
for ($i=0;$i<$numberOfRows;$i++){
$row=mysqli_fetch_assoc($result);
extract($row);
$a=json_encode($row);
$a=$a.",";
echo $a;
}
?>输出结果如下:
{"country":"liechtenstein"},{"country":"romania"},{"country":"jugoslavia"},{"country":"polonia"},这应该是一个正确的JSON输出...
我现在如何在Jquery中获取它?我试着用
$.getJSON 但我不能正确地融合它。我还不希望将数据传递到DIV或类似的HTML中。
作为更新,Andres Descalzo的代码可以工作!
<?php
include("misc.inc");
$cxn=mysqli_connect($host,$user,$password,$database) or die("couldn't connect to server");
$query="SELECT DISTINCT country FROM stamps";
$result=mysqli_query($cxn,$query) or die ("couldn't execute query");
$numberOfRows=mysqli_num_rows($result);
echo "{data: [";
for ($i=0; $i<$numberOfRows; $i++){
$row=mysqli_fetch_assoc($result);
extract($row);
$a = (($i!=0)?",":"") . json_encode($row);
echo $a;
}
echo "]}";
?>输出正确,如下所示:
{data: [{"country":"liechtenstein"},{"country":"romania"},{"country":"jugoslavia"},{"country":"polonia"}]}如何使用$getJSON?
语法是这样的
$.getJSON( url, [ data ], [ callback(data, textStatus) ] )url就是上面提到的PHP文件,但是[data]和回调函数?
发布于 2010-04-30 01:04:50
请注意,JSON字符串不是有效的JSON字符串!我建议您在生成输出之前使用一次json_encode。你可能会这么做:
$countries = array();
for ($i=0;$i<$numberOfRows;$i++){
$row=mysqli_fetch_assoc($result);
//Not needed, I guess
//extract($row);
$countries[] = $row;
//More probably, you want to get only the country name
//$countries[] = $row['country'];
}
$result = json_encode( $countries );
echo $result;希望它是正确的,我还没有测试它:)
https://stackoverflow.com/questions/2739160
复制相似问题