我来分享下今天用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);