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

求助 ajax返回data.length 为空或不是对象
ajax返回data.length 为空或不是对象

  $.ajax({
  type:"post",
  datatype:"json",
  url:urlPath,
  async:false,
  timeout:2000,
  data:{
  startDay:$("#startdate").val().trim(),
  sEndDay:$("#enddate").val().trim(),
  type:$("input[name='radiobutton'][checked]").val()
  },
  success:function(msg)
  {
  var data=msg.table;
  $.each(data,function(i,n){
  var row=$("#template").clone();
  row.find("#number").text(n.number);
  row.find("#project").text(n.project);
  row.find("#usernumber").text(n.usernumber);
  row.find("#area").text(n.area);
  row.find("#money").text(n.money);
  row.find("#date").text(n.date);
  row.find("#state").text(n.state);
  row.appendTo("#datas");
  });
  },
  error:function()
  {
  $("#msg").html("错误代码 !!");
  }
  });

------解决方案--------------------
请尝试下
var data=eval(msg).table;
------解决方案--------------------
1、确定jquery返回结果进入了success:function(msg)区域。
2、alert(msg);看看是否有值
3、用firebug看看。
------解决方案--------------------
可能你后台的json对象那块就出问题了