在企业开发中,前端和后端交换数据的时候,一般都不会直接返回字符串,因为字符串容易出问题。而是返回XML或者JSON格式的数据。
XML 可扩展标记语言
XML 被设计用来传输和存储数据。
注意:所有的数据必须有个根标签,如上note;
<?xml version="1.0" encoding="UTF-8"?> <note> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don‘t forget the meeting!</body> </note>
XML 文档形成一种树结构
XML 文档必须包含根元素。该元素是所有其他元素的父元素。
XML 文档中的元素形成了一棵文档树。这棵树从根部开始,并扩展到树的最底端。
<root> <child> <subchild>.....</subchild> </child> </root>
以上差不多就是XML的固定格式。
XML端
<?xml version="1.0" encoding="UTF-8"?> <note> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don‘t forget the meeting!</body> </note>
1.注意:如果执行结果有中文或者PHP中需要返回XML数据,那必须在PHP的文件内的顶部设置header(string:"content-type:text/xml;charset="utf-8");
2.xhr表示调用时传来的异步对象
3.通过xhr.ressponseXML来获取返回的数据
4.返回的是xml里的#document,可以使用DOM相关的方法来操作。
JSON:JavaScript 对象表示法(JavaScript Object Notation)。
JSON 是存储和交换文本信息的语法。类似 XML。
JSON 比 XML 更小、更快,更易解析。是轻量级的文本数据交换格式
JSON 独立于语言
JSON 具有自我描述性,更易理解
JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。
该格式由 Douglas Crockford 提出。
被设计用于可读的数据交换。
它是从 JavaScript 脚本语言中演变而来。
文件名扩展是 .json。
JSON 的网络媒体类型是 application/json。
统一标示符类型(Uniform Type Identifier)是 public.json。
{"name": "Json"}
var obj = {a: ‘Hello‘, b: ‘World‘}; //这是一个对象,注意键名也是可以使用引号包裹的 var json = ‘{"a": "Hello", "b": "World"}‘; //这是一个 JSON 字符串,本质是一个字符串
var obj = JSON.parse(‘{"a": "Hello", "b": "World"}‘); //结果是 {a: ‘Hello‘, b: ‘World‘}
要实现从JS对象转换为JSON字符串,使用 JSON.stringify() 方法:
var json = JSON.stringify({a: ‘Hello‘, b: ‘World‘}); //结果是 ‘{"a": "Hello", "b": "World"}‘
案例
js中
window.onload = function(){ var btn = document.querySelector(".btn"); btn.onclick = function(){ // 此处ajax是我自己封装的ajax方法 ajax({ type:"GET", url:"ajax-json.php", success:function(xhr){ console.log(xhr.ressponseText); }, error:function(xhr){//xhr表示调用时传来的异步对象 console.log(xhr.status); } }); } }
操作返回的部分
success:function(xhr){ var str = xhr.ressponseText; var obj = JSON.parse(str);//转成js对象 console.log(obj); //之后可以操作js对象 },
但是IE低级版本不支持parse方法,得用个框架兼容:json2.js,可以去github下载。
原文:https://www.cnblogs.com/369-flzhxsqchjn/p/14612097.html