有一个疑惑,关于ajax获取json后无法解析出数据,为什么呢?具体看下面代码

html代码
<body>
<span id="show_check"></span><br />
<span id="show_flag"></span><br />

<script>
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)
{

document.getElementById("show_check").innerHTML=xmlhttp.responseText;
var ajax=xmlhttp.responseText;
alert(ajax[0].no1)
}
}
xmlhttp.open("GET","22.php",true);
xmlhttp.send();
</script>
</body>

---------------------------------------------------------------------------------------
22.php代码

<?php

$info = array(array('no1'=>'bsd', 'no2'=>'wuddy', 'no3'=>'xie'));
$userinfo = json_encode($info);

echo $userinfo;
?>
alert不出来json数据怎么回事呢

呼如林
浏览 173回答 3
3回答

九州编程

你传过来的json没有解析,xmlhttp.responseText是字符串,ajax[0]就是“[”字符(数组左括号)string没有no1属性要把responseText解析为对象才行//支持IE8以下渣渣var&nbsp;ajax=eval("("+xmlhttp.responseText+")");//安全点var&nbsp;ajax=JSON.parse(xmlhttp.responseText);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java