我来分享下今天用Jquery自己写的对调用ajax返回的JSON数据格式和XML数据格式处理的方法:
1.解析JSON数据,代码如下:
//设置申请人其他信息
function setApplyPersonInfo(){
var applyEmpId = $("#whir"+"\\$"+"t3060_f3457_Id").val();
$.ajax({
url: "/defaultroot/devform/workflow/it_addaccounts_ajax.jsp",
type: "post",
data: {empId:applyEmpId},
dataType:"json",
async:false,
success:function(data){
//alert(data[0].idCode);//多条数据格式,亦可通过jQuery循环;
//alert("code:"+data.idCode);//多条数据格式,亦可通过jQuery循环;
$("#whir"+"\\$"+"t3060_f3458").val(data.idCode);//itcode
$("#whir"+"\\$"+"t3060_f3459").val(data.phone);//联系方式
$("#whir"+"\\$"+"t3060_f3462").val(data.orgName);//申请部门
$("#whir"+"\\$"+"t3060_f3463").val(data.orgCode);//部门编码
},
error:function(XMLHttpRequest, textStatus, errorThrown) {
alert("Getting PersonInfo Error!");
}
});
}
JSP脚本如下:
//id,workstatus
String tmp="";
if(result!=null && result.length>0 ){
//tmp=result[0]+","+result[1]+","+result[2]+","+result[3];//idcode,orgName,orgCode,phone
//----------多条数据JSON格式 [{},{},....].start
//tmp+="[{";
//tmp+="\"idCode\":"+"\""+result[0]+"\",";
//tmp+="\"orgName\":"+"\""+result[1]+"\",";
//tmp+="\"orgCode\":"+"\""+result[2]+"\",";
//tmp+="\"phone\":"+"\""+result[3]+"\"";
//tmp+="}]";
// ----------多条数据JSON格式 [{},{},....].end
//----------单条数据JSON格式 {"id":"1","name":"dongxf",...}start
tmp+="{";
tmp+="\"idCode\":"+"\""+result[0]+"\",";
tmp+="\"orgName\":"+"\""+result[1]+"\",";
tmp+="\"orgCode\":"+"\""+result[2]+"\",";
tmp+="\"phone\":"+"\""+result[3]+"\"";
tmp+="}";
}
//System.out.println("===tmp:"+tmp);
out.clear();
out.print(tmp);
2.解析XML数据,代码如下:
//设置所属应用人信息
function setApplyAppInfo(){
var appName = $("#whir"+"\\$"+"t3060_f4577").val();
$.ajax({
url: "/defaultroot/devform/workflow/it_addapps_ajax.jsp",
type: "post",
data:{appName:appName},
dataType: ($.browser.msie) ? "text" : "xml", //接受数据格式
async:false,
success:function(data){
var xml;
if (typeof data == "string") {
xml = new ActiveXObject("Microsoft.XMLDOM");////ie6,ie7需要,firefox,ie8不需要
xml.async = false;
xml.loadXML(data);
} else {
xml = data;
}
var managerNumber = $(xml).find("managerNumber").eq(0).text();
var managerName = $(xml).find("managerName").eq(0).text();
$("#whir"+"\\$"+"t3060_f4579").val(managerNumber);//系统管理员编号
$("#whir"+"\\$"+"t3060_f4578").val(managerName);//系统管理员姓名
},
error:function(XMLHttpRequest, textStatus, errorThrown) {
alert("Getting AppInfo Error!");
}
});
}
String tmp="";
if(result!=null && result.length>0 ){
//tmp=result[0]+","+result[1]+","+result[2]+","+result[3];//idcode,orgName,orgCode,phone
//----------多条数据JSON格式 [{},{},....].start
//tmp+="[{";
//tmp+="\"idCode\":"+"\""+result[0]+"\",";
//tmp+="\"orgName\":"+"\""+result[1]+"\",";
//tmp+="\"orgCode\":"+"\""+result[2]+"\",";
//tmp+="\"phone\":"+"\""+result[3]+"\"";
//tmp+="}]";
// ----------多条数据JSON格式 [{},{},....].end
//----------单条数据JSON格式 {"id":"1","name":"dongxf",...}start
//json格式返回
//tmp+="{";
//tmp+="\"managerNumber\":"+"\""+result[0]+"\",";//管理员编号
//tmp+="\"managerName\":"+"\""+result[1]+"\"";//管理人员姓名
//tmp+="}";
//xml格式返回
//tmp+="<result>123";
//tmp+="</result>";//测试数据
//这里的xml根标签不是必须写成<xml></xml>,网上有说到必须写成<xml></xml>,事实上并非如此
//当然最好写成<xml></xml>是不是显得规范些,根据个人情况而定
tmp+="<xml>";
tmp+="<managerNumber>"+result[0]+"</managerNumber>";
tmp+="<managerName>"+result[1]+"</managerName>";
tmp+="</xml>";//测试数据
}
//System.out.println("===tmp:"+tmp);
response.setContentType("text/xml;charset=utf-8");
out.clear();
out.print(tmp);
本文分享了使用jQuery解析Ajax返回的JSON和XML数据格式的方法,包括设置申请人和其他信息,并展示了JSP脚本如何处理JSON和XML数据。
199

被折叠的 条评论
为什么被折叠?



