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 相关文章推荐
Windows下PHP的任意文件执行漏洞
Oct 09 PHP
利用递归把多维数组转为一维数组的函数
Oct 09 PHP
《PHP编程最快明白》第四讲:日期、表单接收、session、cookie
Nov 01 PHP
The specified CGI application misbehaved by not returning a complete set of HTTP headers
Mar 31 PHP
php提示undefined index的几种解决方法
May 21 PHP
浅析php学习的路线图
Jul 10 PHP
为你总结一些php系统类函数
Oct 21 PHP
PHP获取页面执行时间的方法(推荐)
Dec 10 PHP
Yii2――使用数据库操作汇总(增删查改、事务)
Dec 19 PHP
PHP中的使用curl发送请求(GET请求和POST请求)
Feb 08 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
Jun 13 PHP
php 的多进程操作实践案例分析
Feb 28 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
解析PHP中VC6 X86和VC9 X86的区别及 Non Thread Safe的意思
2013/06/28 PHP
如何使用jQuery+PHP+MySQL来实现一个在线测试项目
2015/04/26 PHP
php 防止表单重复提交两种实现方法
2016/11/03 PHP
PHP基于面向对象实现的留言本功能实例
2018/04/04 PHP
JavaScript 编写匿名函数的几种方法
2010/02/21 Javascript
js中将字符串转换成json的三种方式
2011/01/12 Javascript
ie与ff下的event事件使用介绍
2013/11/25 Javascript
nodejs中实现阻塞实例
2015/03/24 NodeJs
带有定位当前位置的百度地图前端web api实例代码
2016/06/21 Javascript
javascript 数据存储的常用函数总结
2017/06/01 Javascript
详解vue2父组件传递props异步数据到子组件的问题
2017/06/29 Javascript
AngularJs导出数据到Excel的示例代码
2017/08/11 Javascript
简述vue中的config配置
2018/01/23 Javascript
微信小程序中换行空格(多个空格)写法详解
2018/07/10 Javascript
ES6 Iterator接口和for...of循环用法分析
2019/07/31 Javascript
vue中父子组件传值,解决钩子函数mounted只运行一次的操作
2020/07/27 Javascript
[01:18]PWL开团时刻DAY10——一拳超人
2020/11/11 DOTA
Python设计模式之观察者模式实例
2014/04/26 Python
给Python IDLE加上自动补全和历史功能
2014/11/30 Python
Python读写unicode文件的方法
2015/07/10 Python
Python在Console下显示文本进度条的方法
2016/02/14 Python
Python打包文件夹的方法小结(zip,tar,tar.gz等)
2016/09/18 Python
Python实现pdf文档转txt的方法示例
2018/01/19 Python
在Pycharm中项目解释器与环境变量的设置方法
2018/10/29 Python
python实现密码强度校验
2020/03/18 Python
python中什么是面向对象
2020/06/11 Python
CSS3 选择器 伪类选择器介绍
2012/01/21 HTML / CSS
结合CSS3的布局新特征谈谈常见布局方法
2016/01/22 HTML / CSS
Spartoo荷兰:鞋子、包包和服装
2018/07/12 全球购物
波兰在线香水店:Perfumy.pl
2019/08/12 全球购物
电气工程及其自动化自我评价四篇
2013/09/24 职场文书
酒店副总岗位职责
2013/12/24 职场文书
安全责任协议书
2014/04/21 职场文书
社区矫正工作方案
2014/06/04 职场文书
婚礼答谢礼品
2015/01/20 职场文书
2015年办公室工作总结范文
2015/03/31 职场文书