JQuery + xml作为前后台数据交换

  JQuery提供良好的异步加载接口AJAX,可以局部更新页面数据,

http://api.jquery.com/category/ajax/

  xml作为一种轻量数据格式,被浏览器js引擎普遍支持,同json格式,但是没有json那么精简。

  使用AJAX+xml数据格式来实现动态页面,有以下好处:

1、 松耦合, 页面HTML和数据彻底分离, 即表示层 和 数据层分开, 有利前台样式定制。 不同于以往后台脚本嵌套HTML标签,并输出数据到标签的合适位置, 来实现动态页面,表示和数据搅合在一起。

2、 支持与RPC对接, 对于各种业务RPC(类似web service)可以整合到一个页面上展示和配置, 例如一个个人网站页面上, 显示的天气数据来自气象部门, 日历中待办事项和存储事项, 都是通过xml数据格式与中华万年历网站交互的。

3、 充分利用了xml格式好处, 层次化描述数据, 相比form表单提交的x-www-form-urlencode格式的数据要强的多。

4、 AJAX带来和好处, 可以局部更新页面, 不用form表单整体提交, 导致整个页面重载。

XML前后台交互示例

   前台文件client.html完全有html js书写,不包含任何PHP语法, 其实现功能,将一个XML字符串, 通过ajax发送后后台(server.php), 后台将受到的XML字符串原封不动再输出到http响应中, 此时前台ajax的success事件之前, ajax客户端收到响应的XML字符串,然后将其转换为XML对象, 再调用success事件, 在事件处理函数中, 可以访问此对象。

前台文件 client.html

<html>
<head> <script type="text/javascript" src="./jquery.js"></script><style></style>
</head>
<body><h1>hello world!</h1><script type='text/javascript'> // 这里要使用拼接好的XML字符串var data = '<root><classCode>cellphone</classCode><city>GuangDong</city></root>'; $.ajax({type: "POST",url: "/xmlServer.php",// data sent is xml
                contentType: "application/xml; charset=utf-8",// Post 方式,data参数不能为空"",//如果不传参数,也要写成"{}",否则contentType将不能附加在Request Headers中。
                data: data, // data in response will expected xml
                dataType: "xml",anysc: false,success: function (result) { $("h1").text(result.getElementsByTagName("city")[0].childNodes[0].nodeValue) },error: function (XMLHttpRequest, textStatus, errorThrown) {alert(errorThrown + ':' + textStatus); // 错误处理
                }}); </script>
</body>
</html>

后台文件 server.php

<?php
// 将客户端发送的XML数据原样发送回去
//"<root><symbol>IBM</symbol><price>120</price></root>";
echo $HTTP_RAW_POST_DATA;
?>

JQuery + XML作为前后台数据交换格式实践相关推荐

  1. XML和JSON 数据交换格式

    为什么80%的码农都做不了架构师?>>>    一.什么是数据交换格式? 客户端与服务器常用数据交换格式xml.json.html 二.数据交换格式应用场景 移动端(安卓.IOS)通 ...

  2. 数据交换格式与SpringIOC底层实现

    课程目标 XML和JSON Java反射机制 手写SpringIOC 什么是数据交换格式 客户端与服务器常用数据交换格式xml.json.html 数据交换格式用场景 移动端(安卓.IOS)通讯方式采 ...

  3. Java 数据交换格式反射机制SpringIOC原理分析

    数据交换格式&反射机制&SpringIOC原理分析 什么是数据交换格式? 数据交换格式使用场景 JSON简单使用 什么是JSON? JSON格式的分类 常用JSON解析框架 使用fas ...

  4. Ajax--概述、xhr对象的常用属性和方法、xhr的常用事件、xhr对象发送POST请求、xhr对象发送GET请求、xhr对象的兼容性问题、数据交换格式(XML、JSON)

    一.概述 1.1 发展历程 在开始之前先来看一下Ajax的工作原理吧,如下图所示: Ajax全称Asynchronous javascript and xml(异步 JavaScript 和 XML) ...

  5. 数据交换格式Json与XML

    什么是数据交换格式: 主流的有Json.XML.HTML. 数据交换格式的应用场景: 移动端(安卓,IOS)通讯方式采用http协议+Json格式的restful风格. 很多互联网公司都是用Http协 ...

  6. XML和JSON两种数据交换格式的比较

    目前,在web开发领域,主要的数据交换格式有XML和JSON,对于XML相信每一个web developer都不会感到陌生: 相比之下,JSON可能对于一些新步入开发领域的新手会感到有些陌生,也可能你 ...

  7. 于数据交换格式XML和JSON的比较

    目前,在web开发领域,主要的数据传输格式有XML和JSON,对于XML相信每一个web developer都不会感到陌生:相比之下,JSON可能对于一些新步入开发领域的新手会感到有些陌生,也可能你之 ...

  8. iOS 中 XML 数据交换格式

         XML 是一种自描述的数据交换格式,但是 XML 的数据交换格式并没有 JSON 来的轻便,但是无可否认的是,XML 的应用范围也是非常广泛的,比如在 ROS(一个开源机器人操作系统)中利用 ...

  9. 主要的数据交换格式XML与JASON

    数据交换格式就像两个人在聊天一样,采用彼此都听得懂的语言.其中的语言就相当于通信中的数据交换格式.数据交换格式主要分为纯文本格式,XML格式和JSON格式,其中纯文本格式是一种简单的,无格式的数据交换 ...

最新文章

  1. STL 队列queue
  2. C语言字符糊到了一起,C语言速成及格课.docx
  3. Grafana+Prometheus系统监控之webhook
  4. xp精简工具_Windows10你也可以精简优化,丝滑般极爽轻松做到,再也不卡了
  5. 前端导出文件,后端返回文件流过大直接干崩溃
  6. 怎样从Linux终端管理进程:10个你必须知道的命令
  7. 第四周笔记 c++ Boolan
  8. linux存储格式化和挂载
  9. 吴恩达深度学习2.1练习_Improving Deep Neural Networks(Initialization_Regularization_Gradientchecking)
  10. jpa jql 时间范围查询_SpringBoot整合JPA案例
  11. “拳打”苹果“脚踢”三星,荣耀 20 DXO 全球第二,仅次华为 P30!
  12. ELK logstash grok匹配失败存另外的es表
  13. FIR/IIR滤波器?
  14. 软件项目管理和实施方案
  15. winpcap/npcap 提高抓包效率 发UDP包失败
  16. 服务器sni协议,关于 https 的 SNI(Sever Name Indication) 问题记录
  17. Re5:读论文 TWAG: A Topic-guided Wikipedia Abstract Generator
  18. 【记录】gis空间分析poi点分布的影响因素操作过程
  19. idea自动去除导入但未使用的包
  20. C语言怎样判断乘法越界,c语言算术运算符越界问题解决方案

热门文章

  1. 7-13 简单计算器 (25 分)
  2. 查找两个单词链表共同后缀的起始结点(C++,单链表/双向链表解法)
  3. extjs树使用别的皮肤的样式_设计师发布努努重做之后的冰雪节皮肤设计稿
  4. solr set java opts_關於 Apache Solr 無法啟動的問題
  5. MySQL模糊匹配查询LIKE,REGEXP,IN
  6. 如何成为java高手
  7. CSS-Position
  8. Spring学习--实现 FactoryBean 接口在 Spring IOC 容器中配置 Bean
  9. PHP中cURL错误号对照[转]
  10. 【记录】我在浙江省机器人大赛的第一天