通过AJAX的JS、JQuery两种方式解析XML示例介绍

JQuery版


代码如下:

$.ajax({
url : "order/order_orderDetail.do?params.type=merge",
type : "post",
data : params,
success : function(xml) {
hide();
if(xml == ""){
Dialog.popTip("找不到需要合并的订单", 2);
}else{
var myTable=document.getElementById( "t_product" );
//遍历"ORDER"节点
$(xml).find('ORDER').each(function(){
var id = $(this).find("ORDERID").text();
var status = $(this).find("STATUS").text();

if(status == "1"){
status="未确认";
}else{
status="已确认";
}

var newRow = myTable.insertRow();
var oCell = newRow.insertCell();
oCell.setAttribute("height","25");
oCell.innerHTML=" ";
oCell = newRow.insertCell();
oCell.innerHTML="*<b>订单<span style=\"color:red\">"+id+"</span> 的状态为:<span style=\"color:red\">"+status+"</span></b>,商品情况如下<input type=\"checkbox\" name=\"mOrder\" value="+id+" onclick=\"mergeOrder();\">";
oCell = newRow.insertCell();
oCell.innerHTML=" ";
oCell = newRow.insertCell();
oCell.innerHTML=" ";
//遍历"PRODUCT"节点
$(this).find('PRODUCT').each(function(){
var pid = $(this).find("PRODUCTID").text();
var pname = $(this).find("PRODUCTNAME").text();
var purl = $(this).find("PRODUCTURL").text();
var pprice = $(this).find("PRICE").text();
var pcount = $(this).find("GOODSCOUNT").text();
newRow = myTable.insertRow();
oCell = newRow.insertCell();
oCell.setAttribute("height","25");
oCell.innerHTML=pid;
oCell = newRow.insertCell();
oCell.innerHTML="<a href=\""+purl+"\" target=\"_blank\">"+pname+"</a>";
oCell = newRow.insertCell();
oCell.innerHTML="<img style=\"cursor: pointer; vertical-align: middle\" src=\"./images/-.png\" onclick=\"return plus('p"+pid+"','"+pprice+"')\" /><input style=\"width: 20px; border: 0; text-align: center;\" type=\"text\" id=\"p"+pid+"\" name=\"order.count\" class=\"txt\" value="+pcount+" readonly /><img style=\"cursor: pointer; vertical-align: middle\" src=\"./images/+.png\" onclick=\"return add('p"+pid+"','"+pprice+"')\">"
oCell = newRow.insertCell();
oCell.innerHTML=pprice;
});
});
}
},
error : function() {
hide();
Dialog.popTip("服务器繁忙", 2);
}
});

JS版


代码如下:

if(xmlHttp.readyState ==4){
if(xmlHttp.status ==200){
hide();
var xml = xmlHttp.responseXML;
if(xml == null){
Dialog.popTip("找不到需要合并的订单", 2);
}else{
var myTable=document.getElementById("t_product" );
var orders = xml.getElementsByTagName("ORDER");
for(var i=0;i<orders.length;i++){
var order = orders[i];
var id = order.getElementsByTagName("ORDERID")[0].childNodes[0].nodeValue;
var status =order.getElementsByTagName("STATUS")[0].childNodes[0].nodeValue;
alert(status);
if(status == "1"){
status="未确认";
}else{
status="已确认";
}
var newRow = myTable.insertRow();
var oCell = newRow.insertCell();
oCell.setAttribute("height","25");
oCell.innerHTML=" ";
oCell = newRow.insertCell();
oCell.innerHTML="*<b>订单<span style=\"color:red\">"+id+"</span> 的状态为:<span style=\"color:red\">"+status+"</span></b>,商品情况如下<input type=\"checkbox\" name=\"mOrder\" value="+id+" onclick=\"mergeOrder();\">";
oCell = newRow.insertCell();
oCell.innerHTML=" ";
oCell = newRow.insertCell();
oCell.innerHTML=" ";

var products = order.getElementsByTagName("PRODUCT");
for(var i=0;i<orders.length;i++){
var product = products[i];
var pid = product.getElementsByTagName("PRODUCTID")[0].childNodes[0].nodeValue;
var pname = product.getElementsByTagName("PRODUCTNAME")[0].childNodes[0].nodeValue;
var purl = product.getElementsByTagName("PRODUCTURL")[0].childNodes[0].nodeValue;
var pprice = product.getElementsByTagName("PRICE")[0].childNodes[0].nodeValue;
var pcount = product.getElementsByTagName("GOODSCOUNT")[0].childNodes[0].nodeValue;
newRow = myTable.insertRow();
oCell = newRow.insertCell();
oCell.setAttribute("height","25");
oCell.innerHTML=pid;
oCell = newRow.insertCell();
oCell.innerHTML="<a href=\""+purl+"\" target=\"_blank\">"+pname+"</a>";
oCell = newRow.insertCell();
oCell.innerHTML="<img style=\"cursor: pointer; vertical-align: middle\" src=\"./images/-.png\" onclick=\"return plus('p"+pid+"','"+pprice+"')\" /><input style=\"width: 20px; border: 0; text-align: center;\" type=\"text\" id=\"p"+pid+"\" name=\"order.count\" class=\"txt\" value="+pcount+" readonly /><img style=\"cursor: pointer; vertical-align: middle\" src=\"./images/+.png\" onclick=\"return add('p"+pid+"','"+pprice+"')\">"
oCell = newRow.insertCell();
oCell.innerHTML=pprice;
}
}
}
}
}

(0)

相关推荐

  • ajax后台处理返回json值示例代码

    复制代码 代码如下: public ActionForward xsearch(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { String parentId = request.getParameter("parentId"); String supplier = request.getParamet

  • jquery教程ajax请求json数据示例

    复制代码 代码如下: $.ajax({            url: '这个地址要换成你自己的',            data: {S_CourseID: courseid , CurrTime : new Date().getTime()}, //加个时间戳,否则会不自动更新数据            dataType: 'json',            success: function(data)            { if (data != null) { if ( dat

  • jquery ajax对特殊字符进行转义防止js注入使用示例

    在使用ajax进行留言的时候,出现了一个问题.因为留言内容写完之后,通过ajax提交内容,同时使用js把留言的内容添加到页面上来.浏览留言的时候也是通过ajax请求,然后再显示的.这样,如果有人在留言里写入了js语句,这结语句都会被执行.解决办法就是对这些特殊字符进行转义再显示出来.如果在jsp中使用jstl标签,就很简单了.直接使用<c:out value="${r.content}" />这样就行了,会自动进行转义,其中省略了参数escapeXML="true

  • 使用$.getJSON实现跨域ajax请求示例代码

    jQuery中常用getJSON来调用并获取远程的JSON字符串,将其转换为JSON对象,如果成功,则执行回调函数.原型如下: jQuery.getJSON( url, [data], [callback] ) 跨域加载JSON数据. url: 发送请求的地址 data : (可选) 待发送key/value参数 callback: (可选) 载入成功时的回调函数 主要用于客户端获取服务器JSON数据.简单示例: 服务器脚本,返回JSON数据: 复制代码 代码如下: // $.getJSON.p

  • jQuery的ajax传参巧用JSON使用示例(附Json插件)

    jQuery的ajax调用很方便,传参的时候喜欢用Json的数据格式.比如: 复制代码 代码如下: function AddComment(content) { var threadId = $("#span_thread_id").html(); var groupId = $("#span_group_id").html(); var groupType = $("#span_group_type").html(); var title =

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

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.JSONM文件中包含了关于"名称"和"值"的信息.有时候我们需要读取JSON格式的数据文件,在jQuery中可以使用Ajax或者 $.getJSON()方法实现. 下面就使用jQuery读取music.txt文件中的JSON数据格式信息. 首先,music.txt中的内容如下: 复制代码 代码如下: [ {"optionKey":"1"

  • html+js+php一次原始的Ajax请求示例

    今天给大家呈现一个原始的Ajax请求过程,虽然jquery的ajax要比原始的写法容易得多,我们还是应该了解原始的写法,下面我分为html.js.php三个小文件来展示,数据库自己写. 首先是html: 复制代码 代码如下: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>一次简单的Aj

  • AJAX如何接收JSON数据示例介绍

    简介 在我们了解如何使用AJAX返回JSON数据的时候要先明白下列几点 1. JSON如何来表示对象的 2. JSON如何来表示数组的 复制代码 代码如下: var object = { "labId": "1", "labName": "服装" }; 通常我们使用如上的方式来表示JSON对象,那么数组呢 复制代码 代码如下: var array = [{ "labId": "1", &

  • 浅析ajax请求json数据并用js解析(示例分析)

    自从接触了jquery就喜欢上了前端开发,而且深深感受到了前端开发的强大与重要之处.同时也想为asp.net鸣不平,事实上asp.net并没有臃肿,说它臃肿的人无非是那些不了解它的人,可能他们看见过一些asp.net低级程序员在不断往页面里拖控件,然后发现生成的页面中含有大量的垃圾代码,而且几乎把所有的逻辑处理都写在了服务器端,觉得服务器压力太大了.事实上,刚入门asp.net的人会有拖控件的习惯,但是当你再深入你会发现,最终asp.net的开发模式还是跟PHP.jsp等其它web开发模式是一样

  • JavaScript中的ajax功能的概念和示例详解

    AJAX即"Asynchronous Javascript And XML"(异步JavaScript和XML). 个人理解:ajax就是无刷新提交,然后得到返回内容. 对应的不使用ajax时的传统网页如果需要更新内容(或用php做处理时),必须重载整个网页页面. 示例: html代码如下 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>

随机推荐