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提取中文首字母
Apr 09 PHP
简单的PHP留言本实例代码
May 09 PHP
深入php处理整数函数的详解
Jun 09 PHP
解析PHP对现有搜索引擎的调用
Jun 25 PHP
php 启动时报错的简单解决方法
Jan 27 PHP
PHP书写格式详解(必看)
May 23 PHP
CodeIgniter常用知识点小结
May 26 PHP
PHP7基于curl实现的上传图片功能
May 11 PHP
ThinkPHP中获取指定日期后工作日的具体日期方法
Oct 14 PHP
safari下载文件自动加了html后缀问题
Nov 09 PHP
php ZipArchive实现多文件打包下载实例
Oct 31 PHP
PHP学习记录之常用的魔术常量详解
Dec 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
PHP 设计模式之观察者模式介绍
2012/02/22 PHP
Smarty变量调节器失效的解决办法
2014/08/20 PHP
php cookie工作原理与实例详解
2016/07/18 PHP
OAuth认证协议中的HMACSHA1加密算法(实例)
2017/10/25 PHP
nicejforms——美化表单不用愁
2007/02/20 Javascript
jQuery Ajax 仿AjaxPro.Utility.RegisterTypeForAjax辅助方法
2011/09/27 Javascript
JQuery+CSS提示框实现思路及代码(纯手工打造)
2013/05/07 Javascript
Jquery时间验证和转换工具小例子
2013/07/01 Javascript
js使用DOM设置单选按钮、复选框及下拉菜单的方法
2015/01/20 Javascript
JavaScript使用shift方法移除素组第一个元素实例分析
2015/04/06 Javascript
基于jQuery插件jqzoom实现的图片放大镜效果示例
2017/01/23 Javascript
vuejs指令详解
2017/02/07 Javascript
基于JS实现移动端向左滑动出现删除按钮功能
2017/02/22 Javascript
JavaScript中双符号的运算详解
2017/03/12 Javascript
JavaScript如何对图片进行黑白化
2018/04/10 Javascript
vue路由--网站导航功能详解
2019/03/29 Javascript
[46:38]完美世界DOTA2联赛PWL S2 Magma vs PXG 第三场 11.28
2020/12/02 DOTA
python中日期和时间格式化输出的方法小结
2015/03/19 Python
Python使用matplotlib绘制动画的方法
2015/05/20 Python
详解Python3 基本数据类型
2019/04/19 Python
Python中asyncio模块的深入讲解
2019/06/10 Python
tensorflow 分类损失函数使用小记
2020/02/18 Python
Python中读取文件名中的数字的实例详解
2020/12/25 Python
matplotlib绘制鼠标的十字光标的实现(自定义方式,官方实例)
2021/01/10 Python
纯HTML5+CSS3制作图片旋转
2016/01/12 HTML / CSS
一年级学生期末评语
2014/04/21 职场文书
施工安全汇报材料
2014/08/17 职场文书
自动化专业大学生职业生涯规划范文:爱拚才会赢
2014/09/12 职场文书
土地转让协议书
2014/09/27 职场文书
村主任“四风”问题个人对照检查材料思想汇报
2014/10/02 职场文书
社区活动总结
2015/02/04 职场文书
2015大学生自我评价范文
2015/03/03 职场文书
掌握一个领域知识,高效学习必备方法
2019/08/08 职场文书
MySQL 重命名表的操作方法及注意事项
2021/05/21 MySQL
简单聊聊TypeScript只读修饰符
2022/04/06 Javascript
python 学习GCN图卷积神经网络
2022/05/11 Python