我有以下问题:我有一个填充组合框的 Ext.data.JsonStore。我有时会遇到负载异常。我可以一次又一次地刷新组合框,但迟早我会遇到异常。因此,为了检查超时问题,我在服务器上添加了一个延迟,现在我一直得到异常。编码:
JsonStore:
var ticketStore = new Ext.data.JsonStore({
url:'/Hour/ListTickets',
autodestroy:true,
totalProperty:'records',
idProperty:'Id',
root:'rows',
fields:[{name:'Id'},{name:'Titel'}]
});
ticketStore.on({'loadexception':{fn:storeLoadException,scope:this}});
组合框:
var ticketCombo = new Ext.form.ComboBox(
{
fieldLabel:'Ticket',
hiddenName:'TicketId',
store:ticketStore,
width:300,
valueField:'Id',
minChars:2,
displayField:'Titel',
typeAhead:false,
forceSelection:true,
pageSize:25,
triggerAction:'all',
emptyText:'Selecteer een waarde...',
selectOnFocus:true,
valueNotFoundText:"nitchevo",
value:1567,
allowBlank: false
}
);
数据:
try
{
IList<Dictionary<string, object>> returnValue = new List<Dictionary<string, object>>();
returnValue.Add(new Dictionary<string, object>{ {"Id", 1}, {"Titel", "IkBenTitel"}});
System.Threading.Thread.Sleep(7500);
return returnValue;
}
catch (Exception e)
{
Console.WriteLine(e);
}
从数据到 Json 的转换
public static JsonResult JSon(this IList<Dictionary<string, object>> list)
{
var jsonData = new
{
records = list.Count,
rows = list.ToArray()
};
JsonResult json = JsonHelper.Json(jsonData);
return json;
}
根据 Fiddler 的 Json 数据
{"records":1,"rows":[{"Id":1,"Titel":"IkBenTitel"}]}
现在有 7.5 秒的延迟,当数据应该到达客户端时,我得到一个异常客户端。没有延迟,我随机得到异常。异常看到 Json 数据,但我得到的唯一描述是“语法错误”,这没有帮助。
除了表单和存储/组合框之外,我已经剥离了页面的所有内容,它仍然会发生。如您所见,我提供了模拟数据,因此甚至无法访问数据库。这让我疯狂!
我真的很感激任何帮助,我已经断断续续地工作了三天!作为记录,我使用的是 Internet Explorer 版本 8.0.7600.16385,但它也发生在 Chromium 上。
更新 该错误未出现在 Firefox 中,因此我无法使用控制台。
异常限制中的一些参数
:25
查询:“”
开始:0 reader.ef.length
:2
jsonData.rows[0].Id:1
jsonData.rows[0].Titel:“IkBentitel”
reader.meta.fields [0].name: "Id"
reader.meta.fields[1].name: "Titel"
reader.meta.idProperty: "Id"
reader.meta.totalProperty: "records"
reader.meta.url "/Hour/清单门票”
如果需要更多,请告诉我。我还在异常处理程序中添加了“args”,状态为 200。它越来越让我困惑......