json异步转换
在js中,根据js所获得的属性,如果只是靠简单的转换为java属性是异常艰辛的。这里是我在实践中,通过id获取很多字段,相应的填在tr下。具体代码如下:
<script type="text/javascript">
//动态增加tr
function
save(a,b,c,d,e,s){
addTr(a,b,c,d,e,s);
}
//根据id查出其他字段
function getcheck(){
var
x=document.getElementsByName("row_sel");
var
strs=[];
for(var
k=0;k<x.length;k++){
if(x[k].checked){
var
s=x[k].value+"";
$.ajax({
type: "post",
url :
"<%=path%>/prolm/directorWorkshops/doexpduibi.jsp",
dataType:‘json‘,
async:
false, //下面的window.close();方法在此全部结束后调用,叫
回调
data: ‘id=‘+s,
success:
function(json){
if(json.flag=="error")
{
alert("导出错误!");
return;
}
var
intest=json.flag;
strs=intest.split(",");
save(strs[1],strs[2],strs[3],strs[4],strs[5],strs[0]);
flags="1";
}
,
error:function()
{
alert("导出出错!");
return;
}
});
}
}
window.close();
}
</script>
下面为doexpduibi.jsp页面
<%@ page language="java" import="java.util.*"
pageEncoding="utf-8"%>
<%@page
import="com.hshz.xdb.Access"%>
<%
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires",
0);
String path = request.getContextPath();
String basePath =
request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
String
type=request.getParameter("id");
String sql="select * from T_APP_PROJECTAPPLY
where id=‘"+type+"‘ ";
Map m=Access.getSingleMap(sql,null);
StringBuffer sb=new StringBuffer("");
sb.append(m.get("id")+","+n.get("primaydutydept")+","+m.get("projectname")+","+m.get("onelevelcompetentdept")+","+ m.get("projectmanager")+","+m.get("financemanager")); out.print("{\"flag\":\""+sb.toString()+"\"}");
%>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。