`
sungang_1120
  • 浏览: 323810 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类

AJAX 解析xml 常见定义JSON数据的格式

阅读更多
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());
}

 

 

分享到:
评论

相关推荐

    javascript解析ajax返回的xml和json格式数据实例详解

    本文将深入探讨如何使用JavaScript解析Ajax返回的XML和JSON格式数据。 首先,我们来看如何处理XML格式的数据。XML是一种可扩展标记语言,常用于结构化数据交换。在JavaScript中,我们可以通过创建`XMLHttpRequest`...

    Ajax_xml数据格式

    **Ajax与XML数据格式** Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它的核心是JavaScript的XMLHttpRequest对象,使得浏览器可以发送异步HTTP请求,...

    JQuery_Ajax_AutoComplete_使用JSON数据

    首先,我们需要定义JSON数据的格式,例如: ```json { "users": [ {"uid":"123","displayName":"User123","mail":"123@example.com"}, {"uid":"456","displayName":"User456","mail":"456@example.com"}, {"uid...

    php+Ajax处理xml与json格式数据的方法示例

    在PHP和Ajax的交互中,处理XML和JSON格式数据是常见的需求。XML(Extensible Markup Language)是一种结构化数据表示方式,适用于复杂的数据交换。JSON(JavaScript Object Notation)则是基于JavaScript语法的一种...

    jquery.json2xml.js和jquery.xml2json.js

    这两个脚本都简化了在JavaScript中处理JSON和XML的流程,使得开发人员能够在不同的数据格式之间灵活切换,而无需手动进行复杂的解析和序列化工作。 **使用场景** 1. **数据交换**:当客户端和服务器之间的接口需要...

    AJAX和struts2传递JSON数组

    首先,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于人阅读和编写,同时也易于机器解析和生成。在AJAX中,我们通常使用JSON来序列化数据,因为它的结构与JavaScript对象相似,可以直接被...

    asp.net json格式数据

    在ASP.NET中,JSON(JavaScript Object Notation)是一种常用的数据交换格式,它轻量级、易于阅读和编写,同时也易于机器解析和生成。JSON因其简洁和高效的特性,在Web服务和客户端之间传输数据时被广泛使用。 在...

    ajax+serlvet json格式数据操作

    总结来说,"ajax+serlvet json格式数据操作" 是Web开发中的常见实践,它结合了前端的异步通信能力与后端的动态数据处理,通过JSON这一高效的通信格式,实现了前后端的无缝协作。理解和掌握这一技术对于任何希望从事...

    struts2+jquery执行ajax并返回json类型数据(源码)

    在这个"struts2+jquery执行ajax并返回json类型数据"的示例中,我们将探讨如何通过Ajax技术在后台Struts2框架与前端jQuery库之间交换JSON格式的数据。 首先,Struts2是一个强大的MVC(Model-View-Controller)框架,...

    Ajax +jquery跨域获取JSON

    总的来说,"Ajax + jQuery跨域获取JSON"的技术实现是Web开发中的常见实践,它使得网页能够动态地、无刷新地获取并显示远程数据,提高了用户体验。通过合理利用JSONP或CORS,开发者可以突破同源策略的限制,实现丰富...

    详谈 Jquery Ajax异步处理Json数据.

    3. JSON数据格式:JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成,由于JSON的这些特性,它成为了Ajax交互中最常用的数据格式之一。在Ajax请求中,...

    ajax从后台读json数据,jquery在页面简析

    **JSON数据格式** JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。JSON基于JavaScript的一个子集,但它是独立于语言的,有广泛的语言支持。在Web...

    使用json封装数据 html源代码

    在Web开发中,JSON常用于从服务器向客户端传递数据,例如在AJAX(Asynchronous JavaScript and XML)请求中,服务器返回的响应通常就是JSON格式的数据。 描述中的“json的简单应用”表明我们将探讨JSON的基础用法,...

    jQuery中使用Ajax获取JSON格式数据示例代码.pdf

    总结来说,从给定文件的内容来看,介绍了 JSON 数据格式的特性,jQuery 中处理 Ajax 请求的基本方式,以及如何通过 jQuery 的 `$.ajax()` 和 `$.getJSON()` 方法获取和处理 JSON 数据。同时,还通过实际的代码示例,...

    Highcharts AJAX后台JAVA JSON 曲线报表完美可运行例子 不包含官方JS 自己下载

    然后,它会使用AJAX(Asynchronous JavaScript and XML)技术向服务器发送异步请求,请求的数据格式为JSON,这是一种轻量级的数据交换格式,非常适合于前后端之间的数据传输。 在AJAX请求中,通常会使用JavaScript...

    什么是Ajax和json???

    尽管名称中包含了“XML”,但实际上Ajax不仅仅局限于使用XML作为数据格式,也可以使用其他格式如JSON。 **组成Ajax的关键技术包括:** - **XHTML/CSS**: 提供网页的基本结构和样式。 - **DOM (Document Object ...

    快速解决处理后台返回json数据格式的问题

    在文章中提到的“快速解决处理后台返回json数据格式的问题”,主要是围绕如何判断和处理后端返回数据的格式进行展开。核心知识点在于,我们需要首先确定后端返回的数据是否已经是字符串格式。如果已经是字符串,那么...

    C#处理json数据

    在C#后端,处理来自前端的JSON数据主要涉及两部分:一是接收并解析JSON数据,二是进行相应的业务逻辑处理,最后可能还需要返回JSON格式的响应结果。这通常在MVC框架的控制器动作中实现。 ```csharp using System....

    json、xml对比

    在数据交换和存储方面,JSON(JavaScript Object Notation)和XML(eXtensible Markup Language)都是常用的数据格式。这两种格式各有优势,适用于不同的场景。了解它们之间的区别对于选择合适的数据交换格式至关...

Global site tag (gtag.js) - Google Analytics