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);
很好地解决了这个问题。
这已经咬伤了我。 – 2011-02-18 16:34:17