3 * Copyright(c) 2006-2010 Sencha Inc.
5 * http://www.sencha.com/license
8 * @class Ext.direct.JsonProvider
9 * @extends Ext.direct.Provider
11 Ext.direct.JsonProvider = Ext.extend(Ext.direct.Provider, {
12 parseResponse: function(xhr){
13 if(!Ext.isEmpty(xhr.responseText)){
14 if(typeof xhr.responseText == 'object'){
15 return xhr.responseText;
17 return Ext.decode(xhr.responseText);
22 getEvents: function(xhr){
25 data = this.parseResponse(xhr);
27 var event = new Ext.Direct.ExceptionEvent({
30 code: Ext.Direct.exceptions.PARSE,
31 message: 'Error parsing json response: \n\n ' + data
36 if(Ext.isArray(data)){
37 for(var i = 0, len = data.length; i < len; i++){
38 events.push(Ext.Direct.createEvent(data[i]));
41 events.push(Ext.Direct.createEvent(data));