function doChange(){
var createdate=$f("acreatedate").value;
var serverdate= getcurrentdate();
checkDate(createdate,serverdate);
var url="ajaxAction.do?method=json&common=checkLog&classes=log.LogBo&createdate="+createdate;
new Ajax.AjaxRequest(url,doChangeRel,"",null,null);
}function doChangeRel(){
var resonsetext=this.req.responseText;
//this.req.responseText=escape(resonsetext);
var rs = AnalysisJSON(this.req.responseText);
var createdate=$f("acreatedate").value;
var bcurdate = beforecurdate();
if(!rs){
return;
}
if(Datefirst(createdate,bcurdate)){
if(rs.resultSet.length==0){
alert("你不能选择过去的日期写新日志!");
clearFormByElements(logform,"acreatedate,atitle,acont");
return false;
}
}


if(rs.RETCODE != "0000"){
alert(rs.RETMSG);
return;
}else{
if(rs.resultSet.length > 0){

$f("atitle").value = rs.resultSet[0].title;
var reg=new RegExp("<br>","g");
var ac = rs.resultSet[0].cont;
ac = ac.replace(reg,"\r\n");//转换换行符
$f("acont").value = ac;
}else{
$f("atitle").value="";
$f("acont").value ="";
}
}
}
上面这段是我的js 下面还有一段后台的代码
private ServiceResult checkLog() throws Exception{
try{
LoginInfoVo login = (LoginInfoVo)request.getSession().getAttribute(Constans.LOGIN_USER);
String staffId=login.getStaffID();
String createdate=request.getParameter("createdate");
StringBuffer sql=new StringBuffer("select logid,title,replace(cont,'\r\n','<br>') as cont from fitdoa.tb_oa_log where staffid='");
sql.append(staffId).append("' ");
if(!"".equals(createdate)){
sql.append(" and createdate='").append(createdate).append("'");
}
logger.info(sql.toString());
connection();
ServiceResult sr = util.query(sql.toString());
sr.put("RETCODE", "0000");
close();
return sr;
}catch(Exception e){
close();
logger.error("查询单个日志信息失败!",e);
return ServiceResultImp.getCallMsg("0001","取单个日志信息失败!"+e.toString());
}

}
我的代码是这样执行的 根据登录的员工号,和员工选择的日期把 员工那天写的日志查出来显示在文本框和文本区里面我传进去的日志是这样的insertSql="insert into fitdoa.tb_oa_log_check(logid) values('"+logid+"')";这个是用ajax动态执行的 我传进去的日志是这样的当js执行后 我后台能看到日志的内容是这样的 [color=#FF0000"RETCODE":"0000","cols":"3","rows":"1","resultSet":[{"logid":"AB200912250000000056","title":"双引号测试","cont":"insertSql="insert into fitdoa.tb_oa_log_check(logid) values('"+logid+"')";"}][/color]
但是页面上显示不出来内容 最后查出来是这句话var rs = AnalysisJSON(this.req.responseText);的问题也就是这句话有问题:eval("rsData="+responseText); 大家能不能帮我看看 怎么解决 因为那个responseText是动态读取员工写的日志 所以我不可能说避免单引号双引号那些东西 我想试试用escape编码再反编码 各位能不能给我一个思路?