我正在尝试修改我的Javascript页面,它使用Ext Js库。(我对ext js一无所知,也没有使用过它)
我想要做的是基于JSON DATA特别是“successProperty”字段,我想决定是上传网格还是发出警报。
我可以做的是在课堂上添加一个事件。但我不知道该怎么做。
有人能给我一个很好的例子,可以帮助我实现我所需要的。
感谢。
如果我需要提供更多详细信息,请告诉我
再次感谢..
答案 0 :(得分:0)
'successProperty'不是您的想法。 ExtJS在内部使用该属性来了解如何查明方法是否有错误。它是一个字符串,其中包含返回的JSON中属性的“ name ”,它将告诉ExtJS框架出错的地方,而不是错误状态本身。所以,这就是ExtJS让你“定义”那个属性的原因。由于您的服务器端将由您定义,您可以为成功状态选择任何您喜欢的名称,如果您选择的内容与 success
不同(这是默认的successProperty
),然后在JsonReader的successProperty
配置属性中定义它。
检测加载网格时是否发生错误的简便方法是检查{{1}中success
的第3个参数(称为callback
)方法:
load
有更多通用的方法来处理服务器端错误,而不是在您可以使用的每个store.load({
params:{start:0, limit:15},
callback: function(result, options, success) {
if (!success) {
alert('error!!');
}
}
});
上定义回调:
store.load
或者,如果已经使用Ext.Direct,您可以使用其// Listen to "exception" event fired by all proxies
Ext.data.DataProxy.on('exception', function(proxy, type, action, ex) {
alert('Error through DataProxy.exception at ' + type + '.'+ action);
});
事件(可能您没有使用Ext.Direct,所以不要指望它只是单独工作):
exception
我用前两种捕获错误的方法组合了一个完整的例子:http://jsfiddle.net/vZGvM/。 该示例没有错误,但您可以通过将ScriptTagProxy的url指向任何无效的url来模拟错误(如果您这样做将需要一些时间来响应,但您将看到两个警报)。