php+Ajax处理xml与json格式数据的方法示例

 更新时间:2019年03月04日 09:07:51   作者:致Great  
这篇文章主要介绍了php+Ajax处理xml与json格式数据的方法,结合实例形式分析了ajax处理xml格式数据及json格式数据相关操作技巧与注意事项,需要的朋友可以参考下

本文实例讲述了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+ajax技巧与应用小结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

  • 判断php数组是否为索引数组的实现方法

    判断php数组是否为索引数组的实现方法

    本篇文章是对判断php数组是否为索引数组的方法进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP模拟QQ登录的方法

    PHP模拟QQ登录的方法

    这篇文章主要介绍了PHP模拟QQ登录的方法,涉及php基于curl操作模拟QQ登录的实现技巧,具有一定参考
    2015-07-07
  • PHP实现抽奖系统的示例代码

    PHP实现抽奖系统的示例代码

    这篇文章主要为大家介绍了如何利用PHP实现三种不同的抽奖算法:随机抽奖、概率抽奖和内定抽奖,文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-06-06
  • PHP怎样用正则抓取页面中的网址

    PHP怎样用正则抓取页面中的网址

    从页面中抓取页面中所有的链接,当然使用PHP正则表达式是最方便的办法。要写出正则表达式,就要先总结出模式,那么页面中的链接会有几种形式呢?下面一起来看看。
    2016-08-08
  • WIN8.1下搭建PHP5.6环境

    WIN8.1下搭建PHP5.6环境

    很多人喜欢用linux搭建php网页语言运行环境,但由于linux高度自定义化,经常需要root运行命令,略显高端,相对应的微软的windows操作系统,用户体验不错,可以借助windows自带的IIS组件+PHP程序包,搭建一个合适的运行环境。
    2015-04-04
  • php自定义函数实现统计中文字符串长度的方法小结

    php自定义函数实现统计中文字符串长度的方法小结

    这篇文章主要介绍了php自定义函数实现统计中文字符串长度的方法,结合实例形式总结分析了php针对中文的判定、编码与运算相关操作技巧,需要的朋友可以参考下
    2017-04-04
  • PHP利用ThinkPHP6完整实现用户分页功能

    PHP利用ThinkPHP6完整实现用户分页功能

    分页功能在Web开发中是一个非常常见的需求,特别是在处理大量数据时,为了提高用户体验和性能,将数据分页展示是必不可少的,ThinkPHP6作为一款流行的PHP框架,自带了强大的分页功能,本文将详细介绍如何使用ThinkPHP6实现分页功能,需要的朋友可以参考下
    2023-12-12
  • 查找mysql字段中固定字符串并替换的几个方法

    查找mysql字段中固定字符串并替换的几个方法

    今天,在为黄页数据做整理时,发现数据库里的地址字段都是以 “中国” 开头的。 并且后紧跟着的是省份名称
    2012-09-09
  • 一个简单的php路由类

    一个简单的php路由类

    这篇文章主要为大家详细介绍了一个简单的php路由类,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • 浅谈php(codeigniter)安全性注意事项

    浅谈php(codeigniter)安全性注意事项

    下面小编就为大家带来一篇浅谈php(codeigniter)安全性注意事项。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04

最新评论