php+Ajax处理xml与json格式数据的方法示例


Posted in PHP onMarch 04, 2019

本文实例讲述了php+Ajax处理xml与json格式数据的方法。分享给大家供大家参考,具体如下:

一、ajax如何处理xml数据格式

register.php

只需修改上一篇《php+Ajax无刷新验证用户名操作》中chuli函数部分

functionchuli(){
 // window.alert("cuhli函数被调用"+myXmlHttpRequest.readyState);
  //我要取出从register.php返回的数据
  if(myXmlHttpRequest.readyState==4){
    //------------看看如何取出xml数据--------
    //获取mes节点
    var mes=myXmlHttpRequest.responseXML.getElementsByTagName("mes");
    //取出mes节点值
    var mes_value=mes[0].childNodes[0].nodeValue;
    $("myres").value=mes_value;
  }
}

Process.php 代码

<?php
    //第一讲话告诉浏览器返回的数据是xml格式
    header("Content-Type:text/xml;charset=utf-8");
    //告诉浏览器不要缓存数据
    header("Cache-Control:no-cache");
    //接收数据(这里要和请求方式对于 _POST 还是 _GET)
    $username=$_POST['username'];
    //这里我们看看如何处理格式是xml
    $info="";
    if($username=="李四"){
       $info.="<res><mes>用户名不可以用,对不起</mes></res>";//注意,这里数据是返回给请求的页面.
    }else{
       $info.="<res><mes>用户名可以用,恭喜</mes></res>";
    }
    echo $info;
?>

二、ajax如何处理json数据格式

json格式介绍

① json的格式如下 :

"{属性名:属性值,属性名:属性值,.... }"

因为json数据是原生态数据,因此这种数据格式很稳定,而且描述能力强,我们建议大家使用json格式

② json数据格式的扩展

如果服务器返回的json 是多组数据,则格式应当如下:

$info="[{"属性名":"属性值",...},{"属性名":"属性值",...},....]";

在xmlhttprequest对象接收到json数据后,应当这样处理

//转成对象数组
varreses=eval("("+xmlHttpRequest.responseText+")");
//通过reses可以取得你希望的任何一个值
reses[?].属性名

③ 更加复杂的json数据格式

<script language="JavaScript">
   var people ={
      "programmers":
       [
        {"firstName":"Brett", "email": "brett@newInstance.com" },
        {"firstName":"Jason", "email": "jason@servlets.com" }
       ],
      "writer":
           [
              {"writer":"宋江","age":"50"},
              {"writer":"吴用","age":"30"}
           ],
           "sex":"男"
};
window.alert(people.programmers[0].firstName);
window.alert(people.programmers[1].email);
window.alert(people.writer[1].writer);
window.alert(people.sex);
</script>

register.php 部分中chuli函数

function chuli(){
  if(myXmlHttpRequest.readyState==4){
    //------------看看如何取出json数据--------
    var mes= myXmlHttpRequest.responseText;
    //使用evla函数将mes转换成相应的对象
    var mes_obj=eval("("+mes+")");
    $("myres").value=mes_obj.res;
  }
}

process.php 代码

<?php
  header("Content-Type: text/html;charset=utf-8");
  //告诉浏览器不要缓存数据
  header("Cache-Control: no-cache");
  $info="";
  if($username=="1"){
    $info='{"res":"该用户不可用"}';
  }
  else{
    //$info是一个json数据格式的字串
    $info='{"res":"恭喜,用户名可用"}';
  }
echo $info;
?>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php&amp;java(一)
Oct 09 PHP
关于php程序报date()警告的处理(date_default_timezone_set)
Oct 22 PHP
php递归json类实例
Dec 02 PHP
支持中文的PHP按字符串长度分割成数组代码
May 17 PHP
php $_SESSION会员登录实例分享
Jan 19 PHP
php blowfish加密解密算法
Jul 02 PHP
PHP中Trait及其应用详解
Feb 14 PHP
微信公众号实现会员卡领取功能
Jun 08 PHP
PHP使用Nginx实现反向代理
Sep 20 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
Nov 14 PHP
php使用lua+redis实现限流,计数器模式,令牌桶模式
Apr 04 PHP
PHP读取XML文件的方法实例总结【DOMDocument及simplexml方法】
Sep 10 PHP
php+Ajax无刷新验证用户名操作实例详解
Mar 04 #PHP
实例介绍PHP删除数组中的重复元素
Mar 03 #PHP
PHP+Ajax简单get验证操作示例
Mar 02 #PHP
PHP结合jquery ajax实现上传多张图片,并限制图片大小操作示例
Mar 01 #PHP
PHP实现获取毫秒时间戳的方法【使用microtime()函数】
Mar 01 #PHP
PHP中“=&gt;
Mar 01 #PHP
PHP htmlspecialchars_decode()函数用法讲解
Mar 01 #PHP
You might like
玩转虚拟域名◎+ .
2006/10/09 PHP
PHP缓存机制Output Control详解
2014/07/14 PHP
利用“多说”制作留言板、评论系统
2015/07/14 PHP
JavaScript 自动完成脚本整理(33个)
2009/10/20 Javascript
JavaScript控制图片加载完成后调用回调函数的方法
2015/03/20 Javascript
在HTML中插入JavaScript代码的示例
2015/06/03 Javascript
Bootstrap每天必学之日期控制
2016/03/07 Javascript
分离与继承的思想实现图片上传后的预览功能:ImageUploadView
2016/04/07 Javascript
AngularJS使用自定义指令替代ng-repeat的方法
2016/09/17 Javascript
BootStrap Table对前台页面表格的支持实例讲解
2016/12/22 Javascript
JS中利用localStorage防止页面动态添加数据刷新后数据丢失
2017/03/10 Javascript
JS简单封装的图片无缝滚动效果示例【测试可用】
2017/03/22 Javascript
Scala解析Json字符串的实例详解
2017/10/11 Javascript
原生js实现简单的焦点图效果实例
2017/12/14 Javascript
vue升级之路之vue-router的使用教程
2018/08/14 Javascript
VUE中v-on:click事件中获取当前dom元素的代码
2018/08/22 Javascript
微信小程序工具函数封装
2019/10/28 Javascript
让Vue响应Map或Set的变化操作
2020/11/11 Javascript
[50:15]VP vs Mineski 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
python和shell实现的校验IP地址合法性脚本分享
2014/10/23 Python
Python统计单词出现的次数
2018/04/04 Python
Django框架创建mysql连接与使用示例
2019/07/29 Python
浅析PyTorch中nn.Linear的使用
2019/08/18 Python
numpy.linalg.eig() 计算矩阵特征向量方式
2019/11/29 Python
python中的itertools的使用详解
2020/01/13 Python
keras中的History对象用法
2020/06/19 Python
Python本地及虚拟解释器配置过程解析
2020/10/13 Python
Python requests HTTP验证登录实现流程
2020/11/05 Python
美国最大的网络男装服装品牌:Bonobos
2017/05/25 全球购物
美国环保婴儿用品公司:The Honest Company
2017/11/23 全球购物
加拿大休闲和工业服装和鞋类零售商:L’Équipeur
2018/01/12 全球购物
优秀员工评优方案
2014/06/13 职场文书
入党个人总结范文
2015/03/02 职场文书
请客吃饭开场白
2015/06/01 职场文书
Python+Appium实现自动抢微信红包
2021/05/21 Python
「约定的梦幻岛」作画发布诺曼生日新绘
2022/03/21 日漫