Ajax中的XML和json

XML

  • XML语法

     1)声明
    
        
        
        version-设置XML文件的版本
        encoding-设置XML文件的编码
    
        声明必须出现在0行0列上
    
     2)定义元素
    
        根元素,必须是双标签,只能定义一个
    
        定义元素,元素名可以自定义,既可以双标签也可以是单标签
    
  • DOM解析XML字符串

    1. 创建DOM解析XML的解析器,解析器解析XML字符串

    IE浏览器
    var parser = new ActiveXObject("Microsoft.XMLDOM");

        parser.async = false;
          
        xmlDoc = parser.loadXML(xmlFile);
    
      其他游览器  
    
        var parser = new DOMParser();
    
        var xmlDoc = parser.parseFromString(xmlFile,"application/xml");
    
    1. 解析XML元素与解析HTML元素一致

      获取元素最常用的是getElementsByTagName很少使用ById和ByName

    PS:

    浏览器不允许读取外部的XML文件
    浏览器解析符合XML格式的字符串

  • Ajax的XML
    1.请求的数据格式-XML

    1)客户端如何构建XML格式的数据
    
      构建的数据类型 - 字符串类型
      字符串的内容要符合XML格式的语法要求
    
    2)服务器端如何接受符合XML格式的数据
    
       接收到的客户端的请求数据 - 字符串类型,php集成了DOM的相关内容
    
         DOMDocument
         DOMElement
         DOMNode
    

    2.响应的数据格式-XML

    1)服务器端如何构建符合XML格式的数据
    
      设置服务器端的响应头Content-Type值为text/xml
    
        header("Content-Type:text/xml");
    
      构建符合XML格式的数据内容
    
         手动方式构建字符串内容
    
         DOMDocument对象的方法
           loadXML(符合XML格式的字符串)
           saveXML()方式进行响应
    
    2)客户端如何接受XML格式的数据
    
        使用XMLHttpRequest对象的responseXML属性接收
    
        接收到的就是XML DOM对象(不需要进行解析)
    

json

  1. JSON - javascript object notation(JS原生支持)

  2. json数据格式源于js

  3. 特点:
    易于程序员阅读和编写
    易于计算机解析和生成
    json是目前网络上使用最广泛的数据格式之一

  4. JSON的结构

    Array和Object

    支持的数据类型

    字符串、数值、布尔值、对象、数组、null

  • ajax中的json格式
    1. 请求格式为json

      客户端向服务器端发送请求为json格式的数据

      构建符合JSON格式的字符串
      定义字符串时,保证里面使用双引号,外面使用单引号
      

      服务器端接受json格式的数据

      使用json_decode()函数进行解析
      json_decode($json,true);ture代表是否转换为数组
      
    2. 响应格式为json

      服务器端向客户发送响应为json格式的数据

      手工方式构建json格式的字符串
      
      使用json_encode()函数将php变量(数组),转换成复合json格式的字符串
      
      客户端接受json格式的数据
      
      使用XMLHttpRequest对象的responseText属性接受
      
      然后使用eval函数进行转换,如果使用()包裹,eval函数强制转换为js代码,
      var json = eval("("+data+")");
      

你可能感兴趣的:(Ajax中的XML和json)