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 相关文章推荐
Oracle 常见问题解答
Oct 09 PHP
PHP 高手之路(一)
Oct 09 PHP
PHP 危险函数解释 分析
Apr 22 PHP
phpadmin如何导入导出大数据文件及php.ini参数修改
Feb 18 PHP
php mysql_real_escape_string函数用法与实例教程
Sep 30 PHP
浅谈discuz密码加密的方式
May 22 PHP
微信公众平台开发之配置与请求
Aug 26 PHP
Django中的cookie与session操作实例代码
Aug 17 PHP
PHP基于递归实现的约瑟夫环算法示例
Aug 27 PHP
PHPCrawl爬虫库实现抓取酷狗歌单的方法示例
Dec 21 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
Nov 23 PHP
深入浅析安装PhpStorm并激活的步骤详解
Sep 17 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
德生S2000收音机更换“钕铁硼”全频扬声器
2021/03/02 无线电
收藏的一个php小偷的核心程序
2007/04/09 PHP
php重定向的三种方法分享
2012/02/22 PHP
CodeIgniter框架URL路由总结
2014/09/03 PHP
php正则匹配文章中的远程图片地址并下载图片至本地
2015/09/29 PHP
基于命令行执行带参数的php脚本并取得参数的方法
2016/01/25 PHP
wordpress自定义标签云与随机获取标签的方法详解
2019/03/22 PHP
ExtJS Ext.MessageBox.alert()弹出对话框详解
2010/04/02 Javascript
让innerText在firefox火狐和IE浏览器都能用的写法
2011/05/14 Javascript
iphone safari不支持position fixed的解决方法
2012/05/04 Javascript
JS数组的赋值介绍
2014/03/10 Javascript
在easyUI开发中,出现jquery.easyui.min.js函数库问题的解决办法
2015/09/11 Javascript
JavaScript实战之带收放动画效果的导航菜单
2016/08/16 Javascript
js显示动态时间的方法详解
2016/08/20 Javascript
BootStrap Table对前台页面表格的支持实例讲解
2016/12/22 Javascript
Angular2利用组件与指令实现图片轮播组件
2017/03/27 Javascript
Vue中正确使用jQuery的方法
2017/10/30 jQuery
详解基于Koa2开发微信二维码扫码支付相关流程
2018/05/16 Javascript
Bootstrap table中toolbar新增条件查询及refresh参数使用方法
2018/05/18 Javascript
vue 项目地址去掉 #的方法
2018/10/20 Javascript
JS中的算法与数据结构之常见排序(Sort)算法详解
2019/08/16 Javascript
mpvue网易云短信接口实现小程序短信登录的示例代码
2020/04/03 Javascript
JavaScript 双向链表操作实例分析【创建、增加、查找、删除等】
2020/04/28 Javascript
在Angular中实现一个级联效果的下拉框的示例代码
2020/05/20 Javascript
python采用requests库模拟登录和抓取数据的简单示例
2014/07/05 Python
Python创建xml的方法
2015/03/10 Python
解决Scrapy安装错误:Microsoft Visual C++ 14.0 is required...
2017/10/01 Python
用Python下载一个网页保存为本地的HTML文件实例
2018/05/21 Python
利用python画出折线图
2018/07/26 Python
Django中celery执行任务结果的保存方法
2019/07/12 Python
记一次高分屏下canvas模糊问题
2020/02/17 HTML / CSS
JOSEPH官网:英国奢侈时尚品牌
2018/01/31 全球购物
软件缺陷的分类都有哪些
2014/08/22 面试题
2014年消防工作实施方案
2014/02/20 职场文书
2014年教育实习工作总结
2014/11/22 职场文书
五年级作文之劳动作文
2019/11/12 职场文书