我有以下代码,通过Page方法,使用来自ajax调用的值填充select
元素。在FF中,代码运行正常,在IE8中,我收到错误消息:“ ResourceList [...]。id”为null或不是对象。我在这里可以看什么?
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);
};
最佳答案
我在JSON中的ResourceList
数组之后找到了一个多余的逗号。 FF处理它,IE不处理。我正在用
jsonReply.Remove(jsonReply.Length - 1, 1);
但这只会修剪最后一个
\n
,因为我使用的是StringBuilder.AppendLine()。将代码更改为jsonReply.Remove(jsonReply.Length - 3, 3);
很好地解决了这个问题。