日期:2014-05-16  浏览次数:20423 次

jquery前后台交互,后台数据处理处了问题
jquery前后台交互,后台数据处理处了问题 ,请大家帮忙 了,这块不是很懂,
后台代码:
ublic String  goDepart() 
{

try {
departs = departService.findDptById(id);
JsonConfig jsonConfig = new JsonConfig();
jsonConfig.setExcludes( new String[]{"school","students"} ) ;
JSONArray json= JSONArray.fromObject(departs,jsonConfig);
System.out.println(json.toString());
            this.setMessage(json.toString());
} catch (Exception e) {
e.printStackTrace();
}
return "printMessage";

后台这样处理可以吗,可是我前台还是获取不到值,这里是可以打印出值的,

前台代码:
  jQuery("#objectTypeCode").change(function() {
      var param = {'id':this.value};
      jQuery.post("adminAction_goDepart.do", param, function(data,status){
          alert(data);
          alert(status);
      jQuery("#paramId").empty();
      jQuery("#paramId").append("<option value=''>--全部--</option>");
      if(data){
      var objList = eval(data);
      for(var i=0;i< objList.length;i++){
                  var obj = objList[i];
                  jQuery("#paramId").append("<option value='"+obj.DId+"'>"+ obj.dpartname +"</option>");
          }
      }
      });
        });

这里的data 是一大串错误的值,请大家帮忙了,有答案马上结贴

------解决方案--------------------
后台要返回的数据要写在response里面,response.write(data)
------解决方案--------------------
用火狐查看下请求返回值是否是正常值,可以排除是否是前端代码导致
------解决方案--------------------
后台写的json数据,解析一下json字符串,var backdata=eval(data);