php数据格式

xml数据格式的弊端
1.元数据大,不利于网络传输,费带宽
2.解析不方便

<!DOCTYPE html>
<html>
 <head>
  <meta charset="UTF-8">
  <title></title>
  <script type="text/javascript">
   window.onload=function(){
    var btn=document.getElementById('btn');
    btn.onclick=function(){
     var username=document.getElementById('username').value;
     var pwd=document.getElementById('pwd').value;
     
     // (1)创建xhr对象
     var xhr=null;
     if(window.XMLHttpRequest){
      xhr=new XMLHttpRequest();
     }else{
      xhr=new ActiveXObject('Microsoft');  
     }
     var param='name='+username+'&pwd='+pwd;
     xhr.open('post','09_phpDemoXML.php',true);
     xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
     // (3)发送请求
     xhr.send(param); // post请求时    添加发送的数据
     // (4)回调函数
     xhr.onreadystatechange=function(){
      if(xhr.readyState==4){
       if(xhr.status==200){
        var data= xhr.responseXML;
        var booklist=data.getElementsByTagName('booklist');
        //获取第一本书
        var books=booklist[0].children;
        //获取第一本书的书名
        var name=books[0].children[0].innerHTML;
        //获取第一本书的作者
        var author=books[0].children[1].innerHTML;
        //获取第一本书的详情
        var desc=books[0].children[2].innerHTML;
        //输出书的详细信息
        console.log(name+'=='+author+'=='+desc);
        //获取第二本书
        var books=booklist[0].children;
        //获取第二本书的书名
        var name=books[0].children[0].innerHTML;
        //获取第二本书的作者
        var author=books[0].children[1].innerHTML;
        //获取第一本书的详情
        var desc=books[0].children[2].innerHTML;
        //输出书的详细信息
        console.log(name+'=='+author+'=='+desc);
        //获取第三本书
        var books=booklist[0].children;
        //获取第三本书的书名
        var name=books[0].children[0].innerHTML;
        //获取第三本书的作者
        var author=books[0].children[1].innerHTML;
        //获取第三本书的详情
        var desc=books[0].children[2].innerHTML;
        //输出书的详细信息
        console.log(name+'=='+author+'=='+desc);
       }
       }
       }
      }
     } 
    }
   
   }
  </script>
 </head>
 <body>
  <form>
   账户:<input type="text" name="userName" id="username" />
   <span id="span_01"></span>
   <br />
   密码:<input type="password"  name="pwd" id="pwd"/>
   <br />
   <input type="button" value="提交数据" id="btn"/>
  </form>
 </body>
</html>

php代码如下:

<?php
 header('Content-type:text/xml;');
 // 添加动态的数据
 $arr = array();
 $arr[0]=array("name"=>"三国演义","author"=>"罗贯中","desc"=>"一个沙发纷争的年代");
 $arr[1]=array("name"=>"水浒传","author"=>"施耐庵","desc"=>"108个傻子");
 $arr[2]=array("name"=>"西游记","author"=>"吴承恩","desc"=>"佛教和道教斗争"); 
?>
<?xml version="1.0" encoding='utf-8' ?>
<booklist>
 <book>
  <name><?php echo $arr[0]["name"] ?></name>
  <author><?php echo $arr[0]["author"] ?></author>
  <desc><?php echo $arr[0]["desc"] ?></desc>
 </book>
 <book>
  <name><?php echo $arr[1]["name"] ?></name>
  <author><?php echo $arr[1]["author"] ?></author>
  <desc><?php echo $arr[1]["desc"] ?></desc>
 </book>
 <book>
  <name><?php echo $arr[2]["name"] ?></name>
  <author><?php echo $arr[2]["author"] ?></author>
  <desc><?php echo $arr[2]["desc"] ?></desc>
 </book>
</booklist>

json数据格式
json数据和普通数据的js对象区别
1.json数据没有变量
2.json形式的数据结尾没有分号
3.json中的键必须使用双引号包住

   var str='{"name":"张三","age":"23"}'; // 字符串的json格式
   var obj=JSON.parse(str); //将json字符串转换为对象
   console.log(obj);
   // 将对象 转换为字符串的json格式
   var str1=JSON.stringify(obj);// 把对象转成字符串
   console.log(str1);// {"name":"张三","age":"23"}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值