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 相关文章推荐
从C/C++迁移到PHP——判断字符类型的函数
Oct 09 PHP
php中目录,文件操作详谈
Mar 19 PHP
组合算法的PHP解答方法
Feb 04 PHP
用php随机生成福彩双色球号码的2种方法
Feb 04 PHP
php增删改查示例自己写的demo
Sep 04 PHP
php-perl哈希算法实现(times33哈希算法)
Dec 30 PHP
php简单实现无限分类树形列表的方法
Mar 27 PHP
PHP会话处理的10个函数
Aug 11 PHP
通过PHP自带的服务器来查看正则匹配结果的方法
Dec 24 PHP
yii数据库的查询方法
Dec 28 PHP
PHP的Yii框架中YiiBase入口类的扩展写法示例
Mar 17 PHP
php 开发中加密的几种方法总结
Mar 22 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递归列出所有文件和目录的代码
2008/09/10 PHP
kohana框架上传文件验证规则写法示例
2014/07/14 PHP
PHP中设置一个严格30分钟过期Session面试题的4种答案
2014/07/30 PHP
PHP图片库imagemagick安装方法
2014/09/23 PHP
PHP中使用GD库绘制折线图 折线统计图的绘制方法
2015/11/09 PHP
Yii数据模型中rules类验证器用法分析
2016/07/15 PHP
phpStudy vscode 搭建debug调试的教程详解
2020/07/28 PHP
jquery异步跨域访问代码
2013/06/28 Javascript
JavaScript实现在数组中查找不同顺序排列的字符串
2014/09/26 Javascript
node.js中的querystring.parse方法使用说明
2014/12/10 Javascript
AngularJS表达式讲解及示例代码
2016/08/16 Javascript
JavaScript 实现的checkbox经典实例分享
2016/10/16 Javascript
AngularJS压缩JS技巧分析
2016/11/08 Javascript
解决AjaxFileupload 上传时会出现连接重置的问题
2017/07/07 Javascript
JS数组操作中的经典算法实例讲解
2017/07/26 Javascript
浅谈react-router HashRouter和BrowserRouter的使用
2017/12/29 Javascript
解决vue+webpack打包路径的问题
2018/03/06 Javascript
Node.js中读取TXT文件内容fs.readFile()用法
2018/10/10 Javascript
jQuery实现的点击图片居中放大缩小功能示例
2019/01/16 jQuery
全面了解JavaScript的作用域链
2019/04/03 Javascript
python3之模块psutil系统性能信息使用
2018/05/30 Python
python 使用pdfminer3k 读取PDF文档的例子
2019/08/27 Python
Python代码块及缓存机制原理详解
2019/12/13 Python
python打印异常信息的两种实现方式
2019/12/24 Python
Python如何通过Flask-Mail发送电子邮件
2020/01/29 Python
PyQt5实现登录页面
2020/05/30 Python
Flask缓存静态文件的具体方法
2020/08/02 Python
专注澳大利亚特产和新西兰特产的澳洲中文网:0061澳洲制造
2019/03/24 全球购物
JPA的特点
2014/10/25 面试题
信息技术专业大学生个人的自我评价
2013/10/05 职场文书
卫校护理专业毕业生求职信
2013/11/26 职场文书
小学生防溺水广播稿
2014/01/12 职场文书
年度考核登记表个人总结
2015/03/06 职场文书
电影雷锋观后感
2015/06/10 职场文书
python文件名批量重命名脚本实例代码
2021/04/22 Python
浅谈Redis在直播场景的实践方案
2021/04/27 Redis