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 相关文章推荐
基于mysql的论坛(1)
Oct 09 PHP
PHP面向对象分析设计的经验原则
Sep 20 PHP
php数组总结篇(一)
Sep 30 PHP
php file_exists 检查文件或目录是否存在的函数
May 10 PHP
微博短链接算法php版本实现代码
Sep 15 PHP
php实现过滤UBB代码的类
Mar 12 PHP
PHP生成唯一订单号
Jul 05 PHP
[原创]php常用字符串输出方法分析(echo,print,printf及sprintf)
Jul 09 PHP
php获取微信共享收货地址的方法
Dec 21 PHP
php把文件设置为插件的技巧方法
Feb 03 PHP
PHP实现基本留言板功能原理与步骤详解
Mar 26 PHP
TP框架实现上传一张图片和批量上传图片的方法分析
Apr 23 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
ajax返回值中有回车换行、空格的解决方法分享
2013/10/24 PHP
PHP根据两点间的经纬度计算距离
2014/10/31 PHP
解决PHP里大量数据循环时内存耗尽的方法
2015/10/10 PHP
一个网页标题title的闪动提示效果实现思路
2014/03/22 Javascript
javascript中的nextSibling使用陷(da)阱(keng)
2014/05/05 Javascript
JQuery中Bind()事件用法分析
2015/05/05 Javascript
javascript页面倒计时实例
2015/07/25 Javascript
Javascript验证Visa和MasterCard信用卡号的方法
2015/07/27 Javascript
JS版元素周期表实现方法
2015/08/05 Javascript
跟我学习JScript的Bug与内存管理
2015/11/18 Javascript
基于jQuery实现表格的查看修改删除
2016/08/01 Javascript
jQuery和CSS仿京东仿淘宝列表导航菜单
2017/01/04 Javascript
Node连接mysql数据库方法介绍
2017/02/07 Javascript
原生js实现秒表计时器功能
2017/02/16 Javascript
js获取浏览器和屏幕的各种宽度高度
2017/02/22 Javascript
使用Xcache缓存器加速PHP网站的配置方法
2017/04/22 Javascript
JS获取当前地理位置的方法
2017/10/25 Javascript
Vue引用第三方datepicker插件无法监听datepicker输入框的值的解决
2018/01/27 Javascript
Vue插件打包与发布的方法示例
2018/08/20 Javascript
详解nuxt路由鉴权(express模板)
2018/11/21 Javascript
Vue-CLI3.x 设置反向代理的方法
2018/12/06 Javascript
微信小程序实现收货地址左滑删除
2020/11/18 Javascript
Bootstrap实现前端登录页面带验证码功能完整示例
2020/03/26 Javascript
jQuery中getJSON跨域原理的深入讲解
2020/09/02 jQuery
JavaScript日期库date-fn.js使用方法解析
2020/09/09 Javascript
python实现从字符串中找出字符1的位置以及个数的方法
2014/08/25 Python
[原创]windows下Anaconda的安装与配置正解(Anaconda入门教程)
2018/04/05 Python
python求质数的3种方法
2018/09/28 Python
对python模块中多个类的用法详解
2019/01/10 Python
python中下标和切片的使用方法解析
2019/08/27 Python
Python利用PyPDF2库获取PDF文件总页码实例
2020/04/03 Python
Django Xadmin多对多字段过滤实例
2020/04/07 Python
Flask中sqlalchemy模块的实例用法
2020/08/02 Python
瀑布模型都有哪些优缺点
2014/06/23 面试题
2015年纪检监察工作总结
2015/04/08 职场文书
小学语文教学反思范文
2016/03/03 职场文书