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