当我回显我的 php 数组时,它显示如下
回声 json_encode($marray);
展示
{"marray":[{"lat":"12.34","long":"76.35"},{"lat":"13.60","long":"77.34"},{"lat":"14.45" ,"long":"78.70"},{"lat":"12.12","long":"79.47"}]}
我在在线 json 格式化程序中检查了我的 json_string(上图)......它没有显示任何错误。
我正在使用 ajax 来获取此变量中的 json 字符串 - xmlhttp.responseText;
如果我打印该变量,它会显示与 php echo 语句中相同的输出;
但是如果我直接将上面的 json 字符串(不使用 ajax 响应)复制并粘贴到它显示的 javascript 变量中
[对象对象],[对象对象],[对象对象],[对象对象]
然后我可以使用点运算符从中获取数据.....
我不知道当 json 字符串作为 php 文件的响应存储到 js 变量中时发生了什么问题。
关于这些有很多线程,但我仍然无法弄清楚我的问题....JSON.parse() nad eval() 对我不起作用。
我的php编码...
$sql="SELECT * FROM $tbl_name";
$result=mysql_query($sql);
$length=mysql_num_rows($result);
while($row=mysql_fetch_array($result))
{
$marray[$i] =
array(
"lat" => $row['lat'],
"long" => $row['long']
);
$i++;
}
$dmarray=array("marray"=>$marray);
echo json_encode($dmarray);
请帮帮我....这个问题看起来很愚蠢,但我花了整整 3 天的不眠之夜
<script type="text/javascript">
function displayvalue()
{
m="xxx";
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var h=xmlhttp.responseText;
document.getElementById("data").innerHTML="h";
}
}
xmlhttp.open("GET","array.php?q="+m,true);
xmlhttp.send(null);
}
</script>