首页 > 代码库 > ajax处理json数据
ajax处理json数据
在php生成json数据(json_decode())
参数为索引数组生成的数据格式为js数组
$fruit = array(‘apple‘,‘banana‘,‘pear‘,‘orange‘);$fruit_jn = json_encode($fruit); //[‘apple‘,‘banana‘,‘pear‘,‘orange‘]
参数为关联数组生成的数据是json对象格式
$fruit = array(‘a‘=>‘apple‘,‘b‘=>‘banana‘,‘c‘=>‘pear‘,‘d‘=>‘orange‘);$fruit_jn = json_encode($fruit);//{"a":"apple","b":"banana","c":"pear","d":"orange"}
参数为对象生成的数据也是json对象格式,会忽略对象的方法
$animal = array(‘a‘=>array(‘aa‘=>‘cat‘,‘bb‘=>‘pig‘),"c"=>array("cc"=>‘chicken‘,"dd"=>‘duck‘));echo json_encode($animal); //{"a":{"aa":"cat","bb":"pig"},"c":{"cc":"chicken","dd":"duck"}}
处理json数据
var info = xhr.responseText;
此时实际上json对象只是一个字符串,因为json对象是作为字符串返回的,所以我们并不能很方便的处理,那么我们如何把转为实实在在的js对象呢?这里我们要用到eval()函数。
eval(‘var info = ‘+info);
现在info就是实实在在的json对象了,那么我们可以很轻松的将数据显示在想要的部分。
var xhr = function(){ var xhr = null; if(window.XMLHttpRequest) { xhr = new XMLHttpRequest(); } else if(window.ActiveXObject) { xhr = new ActiveXObject(‘Microsoft.XMLHTTP‘); } return xhr;}xhr.onreadystatechange = function(){ if(xhr.readyState==4 && xhr.status==200){ var info = xhr.responseText; //info是以字符串形式给我们返回string——‘{"name":"apple5s","price":"4999","number":"24","weight":"105"}‘ //eval(‘var a= {"name":"apple5s","price":"4999"}‘); eval("var info_jn="+info); //让info字符串内容当作表达式运行 var rst = document.getElementById(‘result‘); rst.innerHTML += "名字:"+info_jn.name; rst.innerHTML += " 价格:"+info_jn.price; rst.innerHTML += " 重量:"+info_jn.weight; rst.innerHTML += " 数量:"+info_jn.number; }}xhr.open("get",‘./02.php‘);xhr.send(null);
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。