Ajax中XML和JSON格式
Ajax中两种常见的数据传输方式分别为XML和JSON,下面详细介绍这两种格式在Ajax中的用法以及区别!
XML和JSON是用来替代Ajax中的文本格式
XML
HTML、DHTML、XHTML、SHTML和XML的区别
- HTML:超文本标记语言编写网页用的
- DHTML: 动态的HTML,只是一种网络概念
- XHTML:基于xml的可扩展的超文本标记语言
- SHTML:标准通用标记语言( SSI 服务器端包含指令)
- XML:可扩展标记语言,常用于配置文件和数据格式
JSON
JSON - JavaScript object notation(支持原生JS),JSON 数据格式源于JavaScript
特点:易于程序员阅读和编写,易于计算机解析和生成
结构:array - 数组,object - 对象
支持的数据类型:String、Number、Boolean(true|false)、Object、Array、null
Ajax中的XML格式
客户端需构建符合XML格式语法要求的字符串,然后将此字符串发送到后台服务器页面,服务器端接收到该数据后,利用服务器语言(以PHP为例)集成好的DOM相关内容:DOMDocument类、DOMELemente类以及DOMNode类来进行相应的处理以及一系列的操作。
当服务器端处理完成数据之后,需要响应数据给到客户端,So服务器端得将数据构建成符合XML格式的数据,然后再响应回去,如何构建呢:两个步骤;1、设置响应头,将“Content-Type”的值设置为“text/xml”,2、构建字符串的内容,通过saveXML()方法进行构建并响应。手动构建的就不说了。
当服务器端响应完成之后就该客户端来进行接收了,客户端该如何来进行接收呢,使用XMLHttpRequest对象的responseXML属性接收,接收到的就是XML DOM对象(不需要使用XML解析器进行解析)
Ajax中的JSON格式
请求格式为JSON
客户端向服务器端发送请求为JSON格式的数据
构建符合JSON格式的字符串
保证定义字符串时,使用单引号(里面使用双引号)
服务器端接收JSON格式的数据
接收客户端的数据,使用json_decode进行解析
响应格式为JSON
服务器端向客户端发送响应为JSON格式的数据
使用json_encode()函数将PHP变量(array)转换成json格式的字符串
客户端接收JSON格式的数据
使用XMLHttpRequest对象的responseText属性接收
使用eval()函数转换 //转换时需要加”()”将其包裹
XML和JSON的区别
XML格式
- 优点:
格式统一,符合标准;
容易与其他系统进行远程交互,数据共享比较方便。
- 缺点:
XML文件庞大,文件格式复杂,传输占带宽;
XML解析复杂且不易维护;
JSON格式
- 优点:
数据格式比较简单,易于读写,属于轻量型
解析方便,大大简化了代码开发量,易于维护
- 缺点:
没有XML那样的通用性
对数据的描述性比XML差
作者:酷我青春
原文:https://blog.csdn.net/u013447464/article/details/52516073