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 相关文章推荐
实用函数3
Nov 08 PHP
php 服务器调试 Zend Debugger 的安装教程
Sep 25 PHP
领悟php接口中interface存在的意义
Jun 27 PHP
PHP中对于浮点型的数据需要用不同的方法解决
Mar 11 PHP
php使用正则过滤js脚本代码实例
May 10 PHP
微信公众平台消息接口校验与消息接口响应实例
Dec 23 PHP
PHP处理大量表单字段的便捷方法
Feb 07 PHP
WordPress开发中的get_post_custom()函数使用解析
Jan 04 PHP
php求今天、昨天、明天时间戳的简单实现方法
Jul 28 PHP
总结PHP如何获取当前主机、域名、网址、路径、端口和参数等
Sep 09 PHP
PHP mysqli_free_result()与mysqli_fetch_array()函数详解
Sep 21 PHP
PHP实现页面静态化深入讲解
Mar 04 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高级对象构建 多个构造函数的使用
2012/02/05 PHP
关于二级目录拖拽排序的实现(源码示例下载)
2013/04/26 PHP
php实现在服务器端调整图片大小的方法
2015/06/16 PHP
thinkPHP实现的联动菜单功能详解
2017/05/05 PHP
JavaScript国旗变换效果代码
2008/08/13 Javascript
textarea中的手动换行处理的jquery代码
2011/02/26 Javascript
jquery动画2.元素坐标动画效果(创建一个图片走廊)
2012/08/24 Javascript
JavaScript生成GUID的多种算法小结
2013/08/18 Javascript
登陆成功后自动计算秒数执行跳转
2014/01/23 Javascript
JavaScript更改原始对象valueOf的方法
2015/03/19 Javascript
JavaScript制作颜色反转小游戏
2016/09/25 Javascript
详解Webpack loader 之 file-loader
2018/11/07 Javascript
nodejs制作小爬虫功能示例
2020/02/24 NodeJs
使用konva和vue-konva库实现拖拽滑块验证功能
2020/04/27 Javascript
[01:03:47]VP vs NewBee Supermajor 胜者组 BO3 第一场 6.5
2018/06/06 DOTA
Python学生成绩管理系统简洁版
2020/04/05 Python
解决python 自动安装缺少模块的问题
2018/10/22 Python
详解将Python程序(.py)转换为Windows可执行文件(.exe)
2019/07/19 Python
python根据文本生成词云图代码实例
2019/11/15 Python
python爬虫爬取监控教务系统的思路详解
2020/01/08 Python
Python运行DLL文件的方法
2020/01/17 Python
最新2019Pycharm安装教程 亲测
2020/02/28 Python
Python定时任务APScheduler原理及实例解析
2020/05/30 Python
利用Python实现Json序列化库的方法步骤
2020/09/09 Python
pycharm激活方法到2099年(激活流程)
2020/09/22 Python
css3的transition属性详解
2014/12/15 HTML / CSS
HTML5 Canvas中绘制椭圆的4种方法
2015/04/24 HTML / CSS
俄罗斯宠物用品网上商店:ZooMag
2019/12/12 全球购物
大学生职业生涯规划书范文
2014/01/04 职场文书
员工辞退通知书
2015/04/17 职场文书
建国大业电影观后感
2015/06/01 职场文书
旅游投诉信范文
2015/07/02 职场文书
新店开业策划方案怎么书写?
2019/07/05 职场文书
七年级作文之环保作文
2019/10/17 职场文书
本地搭建minio文件服务器(使用bat脚本启动)的方法
2022/07/15 Servers