基于JSON数据的条件调用

时间:2010-10-12 07:34:29

标签: javascript json extjs

我正在尝试修改我的Javascript页面,它使用Ext Js库。(我对ext js一无所知,也没有使用过它)

我想要做的是基于JSON DATA特别是“successProperty”字段,我想决定是上传网格还是发出警报。

我可以做的是在课堂上添加一个事件。但我不知道该怎么做。

有人能给我一个很好的例子,可以帮助我实现我所需要的。

感谢。

如果我需要提供更多详细信息,请告诉我

再次感谢..

1 个答案:

答案 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来模拟错误(如果您这样做将需要一些时间来响应,但您将看到两个警报)。