2013-03-19 146 views
4

我目前继承了一个应用程序,其中有许多Kendo网格(以及其他控件),并且我试图修复一个不断出现的错误 - 特别是当用户不再进行身份验证时。Kendo UI Grid/DataSource - 全局错误处理?

我知道解决方案是为控件的单个实例返回一个标志来指示身份验证失败,然后在错误处理程序中检测到并执行身份验证。

问题是我真的要处理这个每个剑道控制我有?是否没有我可以挂钩的全局错误处理程序?无论是数据源本身(因为我知道这是用于所有剑道控制数据加载),或特定的网格。我不介意 - 哪一个是钩子。

这将是比重构一切特定错误处理程序更加简单明了短期的解决办法等

+0

你说全球错误处理'DataSource',对于'Grid',对于'Kendo'控制,...这是我不明白什么是实际需求。它是否适用于'DataSource'? – OnaBai 2013-03-19 13:50:08

+0

对不起,我应该在我的问题中更清楚 - 我已经更新了它,以便更明确。我不介意 - 如果提供了这样的功能,数据源级别本身应该足够了。 – stevehayter 2013-03-19 17:05:14

回答

3

我想你可以附加一个全局错误处理程序$阿贾克斯,这是所使用的数据源,你可以检查这里怎么办呢: http://api.jquery.com/category/ajax/global-ajax-event-handlers/

或者,你可以采取advanttage认为是在数据源进行直接传递到$阿贾克斯的配置: http://docs.kendoui.com/api/framework/datasource#configuration-transport.read-ObjectStringFunction

+0

谢谢Botis。我不知道这是可能的。我会看看,并很快回报:)。 – stevehayter 2013-03-19 17:05:53

+0

@Botus提出的建议有效。我迷上了全局jQuery ajaxComplete处理程序,它可以处理所有jQuery Ajax请求 - 无论是使用我们自己的函数还是Kendo。 如果未在服务器上进行身份验证,我只需添加一个头让客户端知道身份验证是必需的(我无法设置状态码,因为这会导致其他问题) - 然后重定向到登录页面。完善! – stevehayter 2013-03-20 13:09:18