Json与页面方法调用IE 8

问题描述:

Json问题我有以下代码填充select元素来自ajax调用的值,通过页面方法。在FF中,代码工作完美,在IE8中出现错误:'ResourceList [...] .id'为空或不是对象。我能在这里看到什么?Json与页面方法调用IE 8

function readShift(jsonString) { 
     var shiftInfo = Sys.Serialization.JavaScriptSerializer.deserialize(jsonString); 
     var listItems = ""; 

     listItems += "<option value='0'>[Unassigned]</option>"; 
     for (var i = 0; i < shiftInfo.ResourceList.length; i++) { 
      listItems += "<option value='" + shiftInfo.ResourceList[i].id + "'>" + shiftInfo.ResourceList[i].name + "</option>"; 
     } 
     $("#" + resourceListId).html(listItems); 
    }; 

我追踪到这是一个额外的逗号后,我的ResourceList数组在JSON中。 FF处理它,IE不。我修剪我逗号,

jsonReply.Remove(jsonReply.Length - 1, 1); 

但只修剪最后\n,因为我用StringBuilder.AppendLine()。将代码更改为

jsonReply.Remove(jsonReply.Length - 3, 3); 

很好地解决了这个问题。

+0

这已经咬伤了我。 – 2011-02-18 16:34:17