我来分享下今天用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+="123";
//tmp+=" ";//测试数据
//这里的xml根标签不是必须写成 ,网上有说到必须写成 ,事实上并非如此
//当然最好写成 是不是显得规范些,根据个人情况而定
tmp+="";
tmp+=""+result[0]+" ";
tmp+=""+result[1]+" ";
tmp+=" ";//测试数据
}
//System.out.println("===tmp:"+tmp);
response.setContentType("text/xml;charset=utf-8");
out.clear();
out.print(tmp);