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 SQLite类
May 07 PHP
开启CURL扩展,让服务器支持PHP curl函数(远程采集)
Mar 19 PHP
PHP 获取远程网页内容的代码(fopen,curl已测)
Jun 06 PHP
php使用websocket示例详解
Mar 12 PHP
9段PHP实用功能的代码推荐
Oct 14 PHP
PHP实现算式验证码和汉字验证码实例
Mar 09 PHP
如何写php守护进程(Daemon)
Dec 30 PHP
[原创]PHP字符串中插入子字符串方法总结
May 06 PHP
使用YII2框架实现微信公众号中表单提交功能
Sep 04 PHP
php调用云片网接口发送短信的实现方法
Oct 25 PHP
ThinkPHP框架实现的MySQL数据库备份功能示例
May 24 PHP
php+jQuery ajax实现的实时刷新显示数据功能示例
Sep 12 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
图书管理程序(三)
2006/10/09 PHP
php 静态变量的初始化
2009/11/15 PHP
分享一个php 的异常处理程序
2014/06/22 PHP
MacOS 安装 PHP的图片裁剪扩展Tclip
2015/03/25 PHP
如何把php5.3版本升级到php5.4或者php5.5
2015/07/31 PHP
PHP实现合并discuz用户
2015/08/05 PHP
php编译安装php-amq扩展简明教程
2016/06/25 PHP
使用一个for循环将N*N的二维数组的所有值置1实现方法
2017/05/29 PHP
PDO::beginTransaction讲解
2019/01/27 PHP
Aster vs KG BO3 第二场2.19
2021/03/10 DOTA
js自带函数备忘 数组
2006/12/29 Javascript
语义化 H1 标签
2008/01/14 Javascript
浏览器图片选择预览、旋转、批量上传的JS代码实现
2013/12/04 Javascript
js解决弹窗问题实现班级跳转DIV示例
2014/01/06 Javascript
js图片模糊切换显示特效的方法
2015/02/17 Javascript
js实现文本框选中的方法
2015/05/26 Javascript
js脚本分页代码分享(7种样式)
2015/08/19 Javascript
微信小程序实现顶部下拉菜单栏
2018/11/04 Javascript
React中使用外部样式的3种方式(小结)
2019/05/28 Javascript
原生js canvas实现鼠标跟随效果
2020/08/02 Javascript
原生js实现自定义消息提示框
2020/11/19 Javascript
[41:12]Liquid vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.24
2019/09/10 DOTA
Python实现Const详解
2015/01/27 Python
python消除序列的重复值并保持顺序不变的实例
2018/11/08 Python
python的等深分箱实例
2019/11/22 Python
PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译
2020/04/15 Python
tensorflow模型转ncnn的操作方式
2020/05/25 Python
Python3爬虫关于识别点触点选验证码的实例讲解
2020/07/30 Python
使用html5新特性轻松监听任何App自带返回键的示例
2018/03/13 HTML / CSS
美国网上眼镜商城:Zenni Optical
2016/11/20 全球购物
日化店促销方案
2014/03/26 职场文书
法英专业大学生职业生涯规划书范文
2014/09/22 职场文书
2016年社区“我们的节日·中秋节”活动总结
2016/04/05 职场文书
中秋节作文(五年级)之关于月亮
2019/09/11 职场文书
导游词之神仙居景区
2019/11/15 职场文书
docker-compose部署Yapi的方法
2022/04/08 Servers