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
Dec 23 PHP
ASP和PHP都是可以删除自身的
Apr 09 PHP
修改Zend引擎实现PHP源码加密的原理及实践
Apr 14 PHP
解析百度搜索结果link?url=参数分析 (全)
Oct 09 PHP
简单的php中文转拼音的实现代码
Feb 11 PHP
php ci框架中加载css和js文件失败的解决方法
Mar 03 PHP
php中session定期自动清理的方法
Nov 12 PHP
php中namespace use用法实例分析
Jan 22 PHP
Redis构建分布式锁
Mar 28 PHP
PHP快速推送微信模板消息
Apr 14 PHP
PHP常用正则表达式精选(推荐)
May 28 PHP
Yii框架组件的事件机制原理与用法分析
Apr 07 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
正义联盟的终局之战《天启星战争》将成为DC动画宇宙的最后一部
2020/04/09 欧美动漫
虚拟主机中对PHP的特殊设置
2006/10/09 PHP
php数据访问之查询关键字
2016/05/09 PHP
PHP面向对象程序设计子类扩展父类(子类重新载入父类)操作详解
2019/06/14 PHP
JavaScript 对话框和状态栏使用说明
2009/10/25 Javascript
Event altKey,ctrlKey,shiftKey属性解析
2013/12/18 Javascript
JavaScript判断数字是否为质数的方法汇总
2016/06/02 Javascript
初识简单却不失优雅的Vue.js
2016/09/12 Javascript
使用nodejs爬取前程无忧前端技能排行
2017/05/06 NodeJs
微信小程序getPhoneNumber获取用户手机号
2017/09/29 Javascript
代码实例ajax实现点击加载更多数据图片
2018/10/12 Javascript
ES6的异步终极解决方案分享
2019/07/11 Javascript
javascript 构建模块化开发过程解析
2019/09/11 Javascript
在vue中使用echarts(折线图的demo,markline用法)
2020/07/20 Javascript
JavaScript实现网页跨年倒计时
2020/12/02 Javascript
vue3.0中setup使用(两种用法)
2020/12/02 Vue.js
Python基于pygame实现的font游戏字体(附源码)
2015/11/11 Python
Python编程对列表中字典元素进行排序的方法详解
2017/05/26 Python
python3解析库pyquery的深入讲解
2018/06/26 Python
python将视频转换为全字符视频
2019/04/26 Python
pytorch自定义初始化权重的方法
2019/08/17 Python
Python 定义只读属性的实现方式
2020/03/05 Python
详解Python中string模块除去Str还剩下什么
2020/11/30 Python
用python制作个视频下载器
2021/02/01 Python
一个不错的HTML5 Canvas多层点击事件监听实例
2014/04/29 HTML / CSS
美国婚礼礼品网站:MyWeddingFavors
2018/09/26 全球购物
北美Newegg打造的全球尖货海购平台:tt海购
2018/09/28 全球购物
瑞典在互联网上最大的宠物商店:Animail
2020/10/31 全球购物
在职人员函授期间自我评价分享
2013/11/08 职场文书
先进集体事迹材料
2014/02/17 职场文书
团购业务员岗位职责
2014/03/15 职场文书
老干部工作先进集体事迹材料
2014/05/21 职场文书
2015大学生实训报告
2014/11/05 职场文书
出差报告格式模板
2014/11/06 职场文书
Python集合set()使用的方法详解
2022/03/18 Python
Python中requests库的用法详解
2022/06/05 Python