日期:2014-05-17  浏览次数:20795 次

高分求助 一直返回为空
$(function(){
  $.ajax({
  type:"POST",
  url:"queryIp.action",
  dataType:"json",
  async:false,
  timeout:2000,
  contentType: "application/json; charset=utf-8",
  data:{
  // startDate:$("#startDate").val().trim()&$("#endDate").val().trim();
  time:new Date().getTime()
  },
  success:function(data)
  {  
  var mydata=data;
  alert(mydata);
  },
  error: function(XMLHttpRequest,textStatus,errorThrown){
  alert("error:"+textStatus);
  alert(XMLHttpRequest.status);
  alert(XMLHttpRequest.readyState);
  }
  });

mydata 返回一直是个空值 是怎么回事 queryIp.action中有值

------解决方案--------------------
returnstr = "{returnstr:'0',returndata:" + ja + "}";//成功,返回信息
// System.out.println(ja);
return returnstr; //你这里不应该这样返回的吧,你的上一个贴子我有传代码给你看的啊

Java code

JSONArray arr = new JSONArray();
        if (channelId != null) {
            List<CmsTopic> list = manager.getListByChannel(channelId);
            JSONObject o;
            for (CmsTopic t : list) {
                o = new JSONObject();
                o.put("id", t.getId());
                o.put("name", t.getName());
                arr.put(o);
            }
        }
        ResponseUtils.renderJson(response, arr.toString());

------解决方案--------------------
后台用response.....print(json);
将这个字符串返回

最后方法return null;
不是return 这个字符串
------解决方案--------------------
response.setContentType("text/html; charset=GBK");
//设置文本类型的编码格式
response.setCharacterEncoding("UTF-8");
response.setHeader("Cache-Control","no-cache");
logger.info("进入AJAX输出信息方法AJAXOutPrintString");
try {
PrintWriter out = response.getWriter();
out.write(outputString);
out.close();
} catch (IOException e) {
logger.info("Ajax输出IO异常!");
e.printStackTrace();
}
logger.info("离开AJAXOutPrintString");



酌量修改。输出记得要有,