Upgrade to ExtJS 3.1.0 - Released 12/16/2009
[extjs.git] / docs / source / JsonProvider.html
1 <html>\r
2 <head>\r
3   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />    \r
4   <title>The source code</title>\r
5     <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />\r
6     <script type="text/javascript" src="../resources/prettify/prettify.js"></script>\r
7 </head>\r
8 <body  onload="prettyPrint();">\r
9     <pre class="prettyprint lang-js"><div id="cls-Ext.direct.JsonProvider"></div>/**\r
10  * @class Ext.direct.JsonProvider\r
11  * @extends Ext.direct.Provider\r
12  */\r
13 Ext.direct.JsonProvider = Ext.extend(Ext.direct.Provider, {\r
14     parseResponse: function(xhr){\r
15         if(!Ext.isEmpty(xhr.responseText)){\r
16             if(typeof xhr.responseText == 'object'){\r
17                 return xhr.responseText;\r
18             }\r
19             return Ext.decode(xhr.responseText);\r
20         }\r
21         return null;\r
22     },\r
23 \r
24     getEvents: function(xhr){\r
25         var data = null;\r
26         try{\r
27             data = this.parseResponse(xhr);\r
28         }catch(e){\r
29             var event = new Ext.Direct.ExceptionEvent({\r
30                 data: e,\r
31                 xhr: xhr,\r
32                 code: Ext.Direct.exceptions.PARSE,\r
33                 message: 'Error parsing json response: \n\n ' + data\r
34             })\r
35             return [event];\r
36         }\r
37         var events = [];\r
38         if(Ext.isArray(data)){\r
39             for(var i = 0, len = data.length; i < len; i++){\r
40                 events.push(Ext.Direct.createEvent(data[i]));\r
41             }\r
42         }else{\r
43             events.push(Ext.Direct.createEvent(data));\r
44         }\r
45         return events;\r
46     }\r
47 });</pre>    \r
48 </body>\r
49 </html>