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 相关文章推荐
fleaphp下不确定的多条件查询的巧妙解决方法
Sep 11 PHP
CodeIgniter图像处理类的深入解析
Jun 17 PHP
ThinkPHP中U方法的使用浅析
Jun 13 PHP
PHP中常用的输出函数总结
Sep 22 PHP
PHP递归调用数组值并用其执行指定函数的方法
Apr 01 PHP
php用户注册信息验证正则表达式
Nov 12 PHP
10个对初学者非常有用的PHP技巧
Apr 06 PHP
轻松实现php文件上传功能
Feb 17 PHP
PHP插件PHPMailer发送邮件功能
Feb 28 PHP
PHP中Session ID的实现原理实例分析
Aug 17 PHP
PHP判断一个变量是否为整数、正整数的方法示例
Sep 11 PHP
如何在PHP中读写文件
Sep 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
php连接mysql数据库
2017/03/21 PHP
jquery下实现overlay遮罩层代码
2010/08/25 Javascript
DD_belatedPNG,IE6下PNG透明解决方案(国外)
2010/12/06 Javascript
javascript jq 弹出层实例
2013/08/25 Javascript
Jquery each方法跳出循环,并获取返回值(实例讲解)
2013/12/12 Javascript
JavaScript中跨域调用Flash的方法
2014/08/11 Javascript
JavaScript学习笔记之JS函数
2015/01/22 Javascript
10个很棒的jQuery代码片段
2015/09/24 Javascript
Javascript实现代码折叠功能
2016/08/25 Javascript
JavaScript中的FileReader图片预览上传功能实现代码
2017/07/24 Javascript
浅谈react性能优化的方法
2018/09/05 Javascript
微信小程序功能之全屏滚动效果的实现代码
2018/11/22 Javascript
jQuery.parseJSON()函数详解
2019/02/28 jQuery
微信小程序开发之点击按钮退出小程序的实现方法
2019/04/26 Javascript
微信小程序可滑动月日历组件使用详解
2019/10/21 Javascript
JS原型和原型链原理与用法实例详解
2020/02/05 Javascript
JS自定义滚动条效果
2020/03/13 Javascript
Python中的exec、eval使用实例
2014/09/23 Python
使用Python编写基于DHT协议的BT资源爬虫
2016/03/19 Python
在python中利用GDAL对tif文件进行读写的方法
2018/11/29 Python
scikit-learn线性回归,多元回归,多项式回归的实现
2019/08/29 Python
Python同时迭代多个序列的方法
2020/07/28 Python
python 爬取小说并下载的示例
2020/12/07 Python
HTML5实现分享到微信好友朋友圈QQ好友QQ空间微博二维码功能
2018/01/03 HTML / CSS
意大利网上药房:Farmacia 33
2020/01/27 全球购物
编程实现去掉XML的重复结点
2014/05/28 面试题
广告学专业应届生求职信
2013/10/01 职场文书
护士实习生自我鉴定范文
2013/12/10 职场文书
医药学专业大学生职业生涯规划书论文
2014/01/21 职场文书
机关门卫制度
2014/02/01 职场文书
应聘教师自荐书
2014/06/16 职场文书
反洗钱宣传活动总结
2014/08/26 职场文书
私人房屋买卖协议书
2014/10/04 职场文书
杭州西湖英语导游词
2015/02/03 职场文书
Python实现滑雪小游戏
2021/09/25 Python
sql查询语句之平均分、最高最低分及排序语句
2022/05/30 MySQL