AJAX 解析xml 常见定义JSON数据的格式
ResultXmlAjax.js
function createXmlHttpRequest(){ var xmlHttp; try { xmlHttp = new XMLHttpRequest(); } catch (e) { var MSXML = ['MSXML2.XMLHTTP.6.0','MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP','Microsoft.XMLHTTP']; for ( var i = 0; i < MSXML.length; i++) { try { xmlHttp = new ActiveXObject(MSXML[i]); alert(MSXML[i]); break; } catch (e) { } } } return xmlHttp; } function getResultXmlAjax(){ /** * 1、获取ajax对象XmlHttpRequest * */ var ajax = createXmlHttpRequest(); /** * 2、打开请求 */ ajax.open("post","resultXmlAjax",true); /** * 3、 * /** * application/x-www-form-urlencoded就是:jsp form enctype 属性 * 默认的 * <form action="" enctype="application/x-www-form-urlencoded"></form> * 设置MIME类型 如果是post提交 * 需将Content-type的首部设置为application/x-www-form-urlencoded * 他会告知服务器正在发送数据 并且数据已经符合URL编码了 */ ajax.setRequestHeader("Content-type","application/x-www-form-urlencoded"); /** * 当状态改变时 会调用onreadystatechange属性 指定回调函数 */ /** * readyState * 0代表初始化 * 1代表正在加载...open方法一调用 但是send方法还没调用 * 2代表以加载完毕 send已被调用 请求已经开始 * 3代表交互中...服务器正在发送相应 * 4代表完毕...相应发送完毕 并且我们ajax对象可以通过responseText获取返回数据 */ //制定相应处理函数 ajax.onreadystatechange= function (){ //对象状态 if(ajax.readyState == 4){ /** * status * 在XmlHttpRequest对象中 服务器发送的状态码都保存在status属性中 * 可以通过把这个值和200、304比较 可以确保服务器是否 * 已发送了一个成功的相应 */ //信息已成功返回 200 没有被修改304 if (ajax.status=='200' || ajax.status == '304') { //处理信息数据 //alert(111); //alert(ajax.responseText); /** * responseXML * 获取后台xml格式的数据 */ var dom = ajax.responseXML; //获取根节点 var root = dom.lastChild; //获取tag var users = root.getElementsByTagName("user"); for ( var i = 0; i < users.length; i++) { var user = users[i]; var id = user.getAttribute("userId"); alert(id); var name = user.lastChild.lastChild.nodeValue; alert(name); } } } }; /** * 发送Send */ ajax.send("id=001"); } /** * JSON * */ var user1 = new Object(); user1.name = "张三"; user1.password = "123456"; //alert(user1.name); var user2 = {}; user2.name = "张三"; user2.password = "123456"; //alert(user2.name); var user3 = {"name":"张三","password":"123456"}; //var user3 = ({"name":"张三","password":"123456"}); //alert(user3.name); function evalObject(s){ return eval("("+s+")"); } //这种不加()是错的 但是可以 //var user4rStr = '{"name":"张三","password":"123456"}'; //这种也可解析 //var user4 = evalObject(user4rStr); //必须加()才能解析 var user4rStr = '({"name":"张三","password":"123456"})'; var user4 = eval(user4rStr); //alert(user4.name); //数组 列表 var arr = '[{"name":"张三","password":"123456"},{"name":"李四","password":"123456"}]'; var users = evalObject(arr); alert(users[0].name); alert(users[1].name); alert(users[0].password); alert(users[1].password);
resultXmlAjax.jsp
<body> <input type="button" value="请求" onclick="getResultXmlAjax();"> </body>
ResultXmlAjax :Servlet
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); response.setContentType("text/xml"); PrintWriter out = response.getWriter(); StringBuffer buffer = new StringBuffer(); buffer.append("<root>") .append("<user userId = '1'>") .append("<name>张三</name>") .append("</user>") .append("<user userId = '2'>") .append("<name>王五</name>") .append("</user>") .append("</root>"); out.print(buffer.toString()); }
相关推荐
JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于 ECMAScript 规范的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的...
可扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML是标准通用标记语言 ...
一位资深的软件工程师Douglas Crock ford 开发了一个内建于 javascript 的数据格式,称为javascript 对象表示(JSON,javascript Object Notation),意思是直接使用Ajax对象来传递信息,可以读作“Jason”。...
JSON 格式广泛用于应用程序中的数据交换,对于 Ajax 和 Web2.0 的巨大成功至关重要。 (JSONlab 定义) 消息队列提供异步通信协议,意味着消息的发送方和接收方不需要同时与消息队列交互。 放置在队列中的消息会...
第1部分 初识Ajax······ 1 第1章 Ajax入门··········· 2 1.1 重新思考Web应用····· 2 ...4.3.3 将XML数据绑定到表格输出········· 134 4.4 DTD与Schema········ 137
Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...
Json与pickle数据序列化 软件目录结构规范 本周作业 第5周 心灵分享 ATM存钱取钱案例剖析 模块定义、导入、优化详解 内置模块详解之time与datetime模块 内置模块详解之Range模块 内置模块详解之OS模块 内置模块...
Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...
Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash 用来计算 MD5、SHA 哈希算法的 Java 类库,支持 "MD5", "SHA", "SHA-1", "SHA-256", "SHA-384", "SHA-512". 高性能RPC...
Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash 用来计算 MD5、SHA 哈希算法的 Java 类库,支持 "MD5", "SHA", "SHA-1", "SHA-256", "SHA-384", "SHA-512". 高性能RPC...
Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash 用来计算 MD5、SHA 哈希算法的 Java 类库,支持 "MD5", "SHA", "SHA-1", "SHA-256", "SHA-384", "SHA-512". 高性能RPC...
Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash 用来计算 MD5、SHA 哈希算法的 Java 类库,支持 "MD5", "SHA", "SHA-1", "SHA-256", "SHA-384", "SHA-512". 高性能RPC...
Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash 用来计算 MD5、SHA 哈希算法的 Java 类库,支持 "MD5", "SHA", "SHA-1", "SHA-256", "SHA-384", "SHA-512". 高性能RPC...
Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash 用来计算 MD5、SHA 哈希算法的 Java 类库,支持 "MD5", "SHA", "SHA-1", "SHA-256", "SHA-384", "SHA-512". 高性能RPC...
Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash 用来计算 MD5、SHA 哈希算法的 Java 类库,支持 "MD5", "SHA", "SHA-1", "SHA-256", "SHA-384", "SHA-512". 高性能RPC...
Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash 用来计算 MD5、SHA 哈希算法的 Java 类库,支持 "MD5", "SHA", "SHA-1", "SHA-256", "SHA-384", "SHA-512". 高性能RPC...
Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash 用来计算 MD5、SHA 哈希算法的 Java 类库,支持 "MD5", "SHA", "SHA-1", "SHA-256", "SHA-384", "SHA-512". 高性能RPC...
Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash 用来计算 MD5、SHA 哈希算法的 Java 类库,支持 "MD5", "SHA", "SHA-1", "SHA-256", "SHA-384", "SHA-512". 高性能RPC...
Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash 用来计算 MD5、SHA 哈希算法的 Java 类库,支持 "MD5", "SHA", "SHA-1", "SHA-256", "SHA-384", "SHA-512". 高性能RPC...
Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash 用来计算 MD5、SHA 哈希算法的 Java 类库,支持 "MD5", "SHA", "SHA-1", "SHA-256", "SHA-384", "SHA-512". 高性能RPC...