$.getScript(url,function(){
  var result = eval('('+data+')');
  for(var i=0; i<=data.length; i++){
    ....
  }
});
 
提示说data[i]里面的属性没定义,是不是for循环里面的i都加完了?然后data[data.length]不存在?如果是的话为什么?还是其他问题?我好像里面加个alert能弹出正确的结果?for换成each也可以

解决方案 »

  1.   

    你确定你返回过来的data是一个数组一样的字符串么?你先在控制台打印一下返回过来的出错的data,把data发出来看看。
      

  2.   

    返回来的是json,我转成数组了,里面加个alert就是正常的了
      

  3.   

    发出json数据,没这个没法帮你判断
      

  4.   


    $.getScript(url,function(){
      var result = eval('('+data+')');
      for(var i=0; i<=result.attr.length; i++){
        ....
      }
    });var data = "{'attr':[{'time':'1','date':'2013-02-13'}]}";
      

  5.   

    把time data的值取出来啊,遍历attr
      

  6.   

    把等号去了。
    for(var i=0; i<=data.length; i++){
      

  7.   

    data是那里来的
    或你
    $.getScript(url,function(data){
    忘记加上了?
      

  8.   

    单独测试以下代码,FF下没有问题,你查一下别的地方。
    var data = "{'attr':[{'time':'1','date':'2013-02-13'}]}";
    var fn=function(){
    var result = eval('('+data+')');
    for(var i=0; i<result.attr.length; i++){
    console.log(result.attr[i]);
    }
    }
    fn();
      

  9.   

    for循环里面每一次txt = result.attr[i].time,最后一次出错,前面的也没数据吗?