@@ -1,1221 +0,0 @@
1 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
2 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- This file provides a JS interface into the core functionality of
3 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- JSON-centric back-ends. It sends GET or JSON POST requests to
4 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- a back-end and expects JSON responses. The exact semantics of
5 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- the underlying back-end and overlying front-end are not its concern,
6 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- and it leaves the interpretation of the data up to the client/server
7 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- insofar as possible.
8 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
9 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- All functionality is part of a class named WhAjaj, and that class
10 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- acts as namespace for this framework.
11 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
12 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Author: Stephan Beal (http://wanderinghorse.net/home/stephan/)
13 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
14 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- License: Public Domain
15 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
16 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- This framework is directly derived from code originally found in
17 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- http://code.google.com/p/jsonmessage, and later in
18 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- http://whiki.wanderinghorse.net, where it contained quite a bit
19 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- of application-specific logic. It was eventually (the 3rd time i
20 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- needed it) split off into its own library to simplify inclusion
21 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- into my many mini-projects.
22 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
23 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
24 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
25 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
26 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- The WhAjaj function is primarily a namespace, and not intended
27 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- to called or instantiated via the 'new' operator.
28 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
29 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function WhAjaj()
30 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
31 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
32 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
33 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /** Returns a millisecond Unix Epoch timestamp. */
34 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.msTimestamp = function()
35 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
36 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return (new Date()).getTime();
37 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
38 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
39 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /** Returns a Unix Epoch timestamp (in seconds) in integer format.
40 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
41 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Reminder to self: (1.1 %1.2) evaluates to a floating-point value
42 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- in JS, and thus this implementation is less than optimal.
43 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
44 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.unixTimestamp = function()
45 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
46 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var ts = (new Date()).getTime();
47 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return parseInt( ""+((ts / 1000) % ts) );
48 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
49 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
50 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
51 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Returns true if v is-a Array instance.
52 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
53 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.isArray = function( v )
54 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
55 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return (v &&
56 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- (v instanceof Array) ||
57 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- (Object.prototype.toString.call(v) === "[object Array]")
58 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- );
59 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* Reminders to self:
60 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- typeof [] == "object"
61 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- toString.call([]) == "[object Array]"
62 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ([]).toString() == empty
63 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
64 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
65 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
66 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
67 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Returns true if v is-a Object instance.
68 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
69 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.isObject = function( v )
70 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
71 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return v &&
72 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- (v instanceof Object) &&
73 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ('[object Object]' === Object.prototype.toString.apply(v) );
74 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
75 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
76 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
77 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Returns true if v is-a Function instance.
78 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
79 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.isFunction = function(obj)
80 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
81 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return obj
82 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- && (
83 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- (obj instanceof Function)
84 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- || ('function' === typeof obj)
85 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- || ("[object Function]" === Object.prototype.toString.call(obj))
86 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- )
87 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ;
88 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
89 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
90 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
91 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Parses window.location.search-style string into an object
92 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- containing key/value pairs of URL arguments (already urldecoded).
93 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
94 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- If the str argument is not passed (arguments.length==0) then
95 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- window.location.search.substring(1) is used by default. If
96 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- neither str is passed in nor window exists then false is returned.
97 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
98 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- On success it returns an Object containing the key/value pairs
99 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- parsed from the string. Keys which have no value are treated
100 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- has having the boolean true value.
101 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
102 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- FIXME: for keys in the form "name[]", build an array of results,
103 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- like PHP does.
104 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
105 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
106 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.processUrlArgs = function(str) {
107 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( 0 === arguments.length ) {
108 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( ('undefined' === typeof window) ||
109 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- !window.location ||
110 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- !window.location.search ) return false;
111 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else str = (''+window.location.search).substring(1);
112 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
113 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( ! str ) return false;
114 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- str = (''+str).split(/#/,2)[0]; // remove #... to avoid it being added as part of the last value.
115 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var args = {};
116 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var sp = str.split(/&+/);
117 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var rx = /^([^=]+)(=(.+))?/;
118 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var i, m;
119 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for( i in sp ) {
120 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- m = rx.exec( sp[i] );
121 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( ! m ) continue;
122 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- args[decodeURIComponent(m[1])] = (m[3] ? decodeURIComponent(m[3]) : true);
123 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
124 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return args;
125 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
126 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
127 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
128 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- A simple wrapper around JSON.stringify(), using my own personal
129 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- preferred values for the 2nd and 3rd parameters. To globally
130 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- set its indentation level, assign WhAjaj.stringify.indent to
131 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- an integer value (0 for no intendation).
132 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
133 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- This function is intended only for human-readable output, not
134 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- generic over-the-wire JSON output (where JSON.stringify(val) will
135 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- produce smaller results).
136 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
137 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.stringify = function(val) {
138 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( ! arguments.callee.indent ) arguments.callee.indent = 4;
139 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return JSON.stringify(val,0,arguments.callee.indent);
140 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
141 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
142 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
143 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Each instance of this class holds state information for making
144 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- AJAJ requests to a back-end system. While clients may use one
145 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "requester" object per connection attempt, for connections to the
146 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- same back-end, using an instance configured for that back-end
147 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- can simplify usage. This class is designed so that the actual
148 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- connection-related details (i.e. _how_ it connects to the
149 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- back-end) may be re-implemented to use a client's preferred
150 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- connection mechanism (e.g. jQuery).
151 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
152 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- The optional opt parameter may be an object with any (or all) of
153 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- the properties documented for WhAjaj.Connector.options.ajax.
154 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Properties set here (or later via modification of the "options"
155 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- property of this object) will be used in calls to
156 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.sendRequest(), and these override (normally) any
157 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- options set in WhAjaj.Connector.options.ajax. Note that
158 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.sendRequest() _also_ takes an options object,
159 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- and ones passed there will override, for purposes of that one
160 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- request, any options passed in here or defined in
161 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.options.ajax. See WhAjaj.Connector.options.ajax
162 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- and WhAjaj.Connector.prototype.sendRequest() for more details
163 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- about the precedence of options.
164 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
165 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Sample usage:
166 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
167 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @code
168 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // Set up common connection-level options:
169 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var cgi = new WhAjaj.Connector({
170 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- url: '/cgi-bin/my.cgi',
171 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- timeout:10000,
172 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- onResponse(resp,req) { alert(JSON.stringify(resp,0.4)); },
173 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- onError(req,opt) {
174 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- alert(opt.errorMessage);
175 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
176 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- });
177 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // Any of those options may optionally be set globally in
178 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // WhAjaj.Connector.options.ajax (onError(), beforeSend(), and afterSend()
179 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // are often easiest/most useful to set globally).
180 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
181 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // Get list of pages...
182 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- cgi.sendRequest( null, {
183 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- onResponse(resp,req){ alert(WhAjaj.stringify(resp)); }
184 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- });
185 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @endcode
186 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
187 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- For common request types, clients can add functions to this
188 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- object which act as wrappers for backend-specific functionality. As
189 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- a simple example:
190 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
191 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @code
192 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- cgi.login = function(name,pw,ajajOpt) {
193 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- this.sendRequest(
194 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {command:"json/login",
195 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- name:name,
196 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- password:pw
197 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }, ajajOpt );
198 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
199 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @endcode
200 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
201 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TODOs:
202 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
203 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- - Caching of page-load requests, with a configurable lifetime.
204 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
205 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- - Use-cases like the above login() function are a tiny bit
206 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- problematic to implement when each request has a different URL
207 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- path (i know this from the whiki and fossil implementations).
208 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- This is partly a side-effect of design descisions made back in
209 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- the very first days of this code's life. i need to go through
210 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- and see where i can bend those conventions a bit (where it won't
211 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- break my other apps unduly).
212 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
213 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector = function(opt)
214 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
215 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if(WhAjaj.isObject(opt)) this.options = opt;
216 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- //TODO?: this.$cache = {};
217 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
218 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
219 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
220 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- The core options used by WhAjaj.Connector instances for performing
221 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- network operations. These options can (and some _should_)
222 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- be changed by a client application. They can also be changed
223 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- on specific instances of WhAjaj.Connector, but for most applications
224 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- it is simpler to set them here and not have to bother with configuring
225 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- each WhAjaj.Connector instance. Apps which use multiple back-ends at one time,
226 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- however, will need to customize each instance for a given back-end.
227 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
228 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.options = {
229 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
230 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- A (meaningless) prefix to apply to WhAjaj.Connector-generated
231 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- request IDs.
232 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
233 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- requestIdPrefix:'WhAjaj.Connector-',
234 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
235 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Default options for WhAjaj.Connector.sendRequest() connection
236 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- parameters. This object holds only connection-related
237 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- options and callbacks (all optional), and not options
238 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- related to the required JSON structure of any given request.
239 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- i.e. the page name used in a get-page request are not set
240 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- here but are specified as part of the request object.
241 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
242 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- These connection options are a "normalized form" of options
243 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- often found in various AJAX libraries like jQuery,
244 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Prototype, dojo, etc. This approach allows us to swap out
245 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- the real connection-related parts by writing a simple proxy
246 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- which transforms our "normalized" form to the
247 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- backend-specific form. For examples, see the various
248 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- implementations stored in WhAjaj.Connector.sendImpls.
249 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
250 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- The following callback options are, in practice, almost
251 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- always set globally to some app-wide defaults:
252 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
253 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- - onError() to report errors using a common mechanism.
254 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- - beforeSend() to start a visual activity notification
255 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- - afterSend() to disable the visual activity notification
256 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
257 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- However, be aware that if any given WhAjaj.Connector instance is
258 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- given its own before/afterSend callback then those will
259 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- override these. Mixing shared/global and per-instance
260 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- callbacks can potentially lead to confusing results if, e.g.,
261 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- the beforeSend() and afterSend() functions have side-effects
262 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- but are not used with their proper before/after partner.
263 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
264 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TODO: rename this to 'ajaj' (the name is historical). The
265 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- problem with renaming it is is that the word 'ajax' is
266 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pretty prevelant in the source tree, so i can't globally
267 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- swap it out.
268 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
269 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ajax: {
270 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
271 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- URL of the back-end server/CGI.
272 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
273 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- url: '/some/path',
274 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
275 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
276 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Connection method. Some connection-related functions might
277 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- override any client-defined setting.
278 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
279 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Must be one of 'GET' or 'POST'. For custom connection
280 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- implementation, it may optionally be some
281 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- implementation-specified value.
282 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
283 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Normally the API can derive this value automatically - if the
284 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- request uses JSON data it is POSTed, else it is GETted.
285 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
286 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- method:'GET',
287 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
288 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
289 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- A hint whether to run the operation asynchronously or
290 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- not. Not all concrete WhAjaj.Connector.sendImpl()
291 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- implementations can support this. Interestingly, at
292 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- least one popular AJAX toolkit does not document
293 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- supporting _synchronous_ AJAX operations. All common
294 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- browser-side implementations support async operation, but
295 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- non-browser implementations might not.
296 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
297 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- asynchronous:true,
298 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
299 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
300 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- A HTTP authentication login name for the AJAX
301 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- connection. Not all concrete WhAjaj.Connector.sendImpl()
302 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- implementations can support this.
303 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
304 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- loginName:undefined,
305 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
306 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
307 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- An HTTP authentication login password for the AJAJ
308 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- connection. Not all concrete WhAjaj.Connector.sendImpl()
309 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- implementations can support this.
310 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
311 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- loginPassword:undefined,
312 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
313 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
314 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- A connection timeout, in milliseconds, for establishing
315 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- an AJAJ connection. Not all concrete
316 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.sendImpl() implementations can support this.
317 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
318 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- timeout:10000,
319 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
320 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
321 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- If an AJAJ request receives JSON data from the back-end,
322 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- that data is passed as a plain Object as the response
323 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- parameter (exception: in jsonp mode it is passed a
324 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- string (why???)). The initiating request object is
325 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- passed as the second parameter, but clients can normally
326 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ignore it (only those which need a way to map specific
327 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- requests to responses will need it). The 3rd parameter
328 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- is the same as the 'this' object for the context of the
329 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- callback, but is provided because the instance-level
330 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- callbacks (set in (WhAjaj.Connector instance).callbacks,
331 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- require it in some cases (because their 'this' is
332 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- different!).
333 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
334 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Note that the response might contain error information
335 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- which comes from the back-end. The difference between
336 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- this error info and the info passed to the onError()
337 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- callback is that this data indicates an
338 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- application-level error, whereas onError() is used to
339 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- report connection-level problems or when the backend
340 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- produces non-JSON data (which, when not in jsonp mode,
341 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- is unexpected and is as fatal to the request as a
342 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- connection error).
343 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
344 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- onResponse: function(response, request, opt){},
345 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
346 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
347 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- If an AJAX request fails to establish a connection or it
348 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- receives non-JSON data from the back-end, this function
349 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- is called (e.g. timeout error or host name not
350 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- resolvable). It is passed the originating request and the
351 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "normalized" connection parameters used for that
352 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- request. The connectOpt object "should" (or "might")
353 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- have an "errorMessage" property which describes the
354 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- nature of the problem.
355 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
356 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Clients will almost always want to replace the default
357 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- implementation with something which integrates into
358 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- their application.
359 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
360 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- onError: function(request, connectOpt)
361 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
362 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- alert('AJAJ request failed:\n'
363 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- +'Connection information:\n'
364 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- +JSON.stringify(connectOpt,0,4)
365 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- );
366 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- },
367 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
368 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
369 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Called before each connection attempt is made. Clients
370 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- can use this to, e.g., enable a visual "network activity
371 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- notification" for the user. It is passed the original
372 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- request object and the normalized connection parameters
373 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for the request. If this function changes opt, those
374 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- changes _are_ applied to the subsequent request. If this
375 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function throws, neither the onError() nor afterSend()
376 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- callbacks are triggered and WhAjaj.Connector.sendImpl()
377 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- propagates the exception back to the caller.
378 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
379 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- beforeSend: function(request,opt){},
380 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
381 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
382 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Called after an AJAJ connection attempt completes,
383 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- regardless of success or failure. Passed the same
384 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- parameters as beforeSend() (see that function for
385 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- details).
386 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
387 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Here's an example of setting up a visual notification on
388 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ajax operations using jQuery (but it's also easy to do
389 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- without jQuery as well):
390 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
391 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @code
392 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function startAjaxNotif(req,opt) {
393 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var me = arguments.callee;
394 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var c = ++me.ajaxCount;
395 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- me.element.text( c + " pending AJAX operation(s)..." );
396 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( 1 == c ) me.element.stop().fadeIn();
397 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
398 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- startAjaxNotif.ajaxCount = 0.
399 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- startAjaxNotif.element = jQuery('#whikiAjaxNotification');
400 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
401 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function endAjaxNotif() {
402 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var c = --startAjaxNotif.ajaxCount;
403 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- startAjaxNotif.element.text( c+" pending AJAX operation(s)..." );
404 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( 0 == c ) startAjaxNotif.element.stop().fadeOut();
405 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
406 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @endcode
407 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
408 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Set the beforeSend/afterSend properties to those
409 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- functions to enable the notifications by default.
410 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
411 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- afterSend: function(request,opt){},
412 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
413 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
414 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- If jsonp is a string then the WhAjaj-internal response
415 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- handling code ASSUMES that the response contains a JSONP-style
416 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- construct and eval()s it after afterSend() but before onResponse().
417 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- In this case, onResponse() will get a string value for the response
418 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- instead of a response object parsed from JSON.
419 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
420 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- jsonp:undefined,
421 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
422 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Don't use yet. Planned future option.
423 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
424 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- propagateExceptions:false
425 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
426 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
427 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
428 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
429 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
430 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.prototype.callbacks defines callbacks analog
431 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- to the onXXX callbacks defined in WhAjaj.Connector.options.ajax,
432 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- with two notable differences:
433 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
434 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 1) these callbacks, if set, are called in addition to any
435 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- request-specific callback. The intention is to allow a framework to set
436 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "framework-level" callbacks which should be called independently of the
437 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- request-specific callbacks (without interfering with them, e.g.
438 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- requiring special re-forwarding features).
439 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
440 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 2) The 'this' object in these callbacks is the Connector instance
441 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- associated with the callback, whereas the "other" onXXX form has its
442 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "ajax options" object as its this.
443 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
444 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- When this API says that an onXXX callback will be called for a request,
445 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- both the request's onXXX (if set) and this one (if set) will be called.
446 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
447 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.prototype.callbacks = {};
448 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
449 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Instance-specific values for AJAJ-level properties (as opposed to
450 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- application-level request properties). Options set here "override" those
451 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- specified in WhAjaj.Connector.options.ajax and are "overridden" by
452 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- options passed to sendRequest().
453 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
454 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.prototype.options = {};
455 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
456 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
457 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
458 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Tries to find the given key in any of the following, returning
459 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- the first match found: opt, this.options, WhAjaj.Connector.options.ajax.
460 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
461 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Returns undefined if key is not found.
462 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
463 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.prototype.derivedOption = function(key,opt) {
464 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var v = opt ? opt[key] : undefined;
465 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( undefined !== v ) return v;
466 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else v = this.options[key];
467 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( undefined !== v ) return v;
468 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else v = WhAjaj.Connector.options.ajax[key];
469 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return v;
470 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
471 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
472 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
473 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Returns a unique string on each call containing a generic
474 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- reandom request identifier string. This is not used by the core
475 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- API but can be used by client code to generate unique IDs for
476 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- each request (if needed).
477 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
478 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- The exact format is unspecified and may change in the future.
479 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
480 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Request IDs can be used by clients to "match up" responses to
481 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- specific requests if needed. In practice, however, they are
482 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- seldom, if ever, needed. When passing several concurrent
483 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- requests through the same response callback, it might be useful
484 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for some clients to be able to distinguish, possibly re-routing
485 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- them through other handlers based on the originating request type.
486 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
487 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- If this.options.requestIdPrefix or
488 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.options.requestIdPrefix is set then that text
489 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- is prefixed to the returned string.
490 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
491 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.prototype.generateRequestId = function()
492 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
493 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( undefined === arguments.callee.sequence )
494 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
495 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- arguments.callee.sequence = 0;
496 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
497 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var pref = this.options.requestIdPrefix || WhAjaj.Connector.options.requestIdPrefix || '';
498 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return pref +
499 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.msTimestamp() +
500 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- '/'+(Math.round( Math.random() * 100000000) )+
501 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ':'+(++arguments.callee.sequence);
502 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
503 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
504 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
505 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Copies (SHALLOWLY) all properties in opt to this.options.
506 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
507 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.prototype.addOptions = function(opt) {
508 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var k, v;
509 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for( k in opt ) {
510 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( ! opt.hasOwnProperty(k) ) continue /* proactive Prototype kludge! */;
511 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- this.options[k] = opt[k];
512 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
513 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return this.options;
514 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
515 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
516 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
517 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- An internal helper object which holds several functions intended
518 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- to simplify the creation of concrete communication channel
519 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- implementations for WhAjaj.Connector.sendImpl(). These operations
520 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- take care of some of the more error-prone parts of ensuring that
521 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- onResponse(), onError(), etc. callbacks are called consistently
522 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- using the same rules.
523 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
524 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.sendHelper = {
525 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
526 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- opt is assumed to be a normalized set of
527 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.sendRequest() options. This function
528 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- creates a url by concatenating opt.url and some form of
529 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- opt.urlParam.
530 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
531 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- If opt.urlParam is an object or string then it is appended
532 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- to the url. An object is assumed to be a one-dimensional set
533 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- of simple (urlencodable) key/value pairs, and not larger
534 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- data structures. A string value is assumed to be a
535 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- well-formed, urlencoded set of key/value pairs separated by
536 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- '&' characters.
537 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
538 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- The new/normalized URL is returned (opt is not modified). If
539 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- opt.urlParam is not set then opt.url is returned (or an
540 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- empty string if opt.url is itself a false value).
541 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
542 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TODO: if opt is-a Object and any key points to an array,
543 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- build up a list of keys in the form "keyname[]". We could
544 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- arguably encode sub-objects like "keyname[subkey]=...", but
545 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- i don't know if that's conventions-compatible with other
546 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- frameworks.
547 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
548 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- normalizeURL: function(opt) {
549 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var u = opt.url || '';
550 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( opt.urlParam ) {
551 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var addQ = (u.indexOf('?') >= 0) ? false : true;
552 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var addA = addQ ? false : ((u.indexOf('&')>=0) ? true : false);
553 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var tail = '';
554 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( WhAjaj.isObject(opt.urlParam) ) {
555 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var li = [], k;
556 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for( k in opt.urlParam) {
557 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- li.push( k+'='+encodeURIComponent( opt.urlParam[k] ) );
558 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
559 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tail = li.join('&');
560 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
561 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else if( 'string' === typeof opt.urlParam ) {
562 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tail = opt.urlParam;
563 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
564 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- u = u + (addQ ? '?' : '') + (addA ? '&' : '') + tail;
565 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
566 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return u;
567 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- },
568 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
569 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Should be called by WhAjaj.Connector.sendImpl()
570 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- implementations after a response has come back. This
571 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function takes care of most of ensuring that framework-level
572 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- conventions involving WhAjaj.Connector.options.ajax
573 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- properties are followed.
574 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
575 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- The request argument must be the original request passed to
576 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- the sendImpl() function. It may legally be null for GET requests.
577 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
578 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- The opt object should be the normalized AJAX options used
579 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for the connection.
580 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
581 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- The resp argument may be either a plain Object or a string
582 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- (in which case it is assumed to be JSON).
583 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
584 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- The 'this' object for this call MUST be a WhAjaj.Connector
585 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- instance in order for callback processing to work properly.
586 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
587 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- This function takes care of the following:
588 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
589 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- - Calling opt.afterSend()
590 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
591 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- - If resp is a string, de-JSON-izing it to an object.
592 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
593 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- - Calling opt.onResponse()
594 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
595 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- - Calling opt.onError() in several common (potential) error
596 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- cases.
597 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
598 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- - If resp is-a String and opt.jsonp then resp is assumed to be
599 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- a JSONP-form construct and is eval()d BEFORE opt.onResponse()
600 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- is called. It is arguable to eval() it first, but the logic
601 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- integrates better with the non-jsonp handler.
602 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
603 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- The sendImpl() should return immediately after calling this.
604 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
605 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- The sendImpl() must call only one of onSendSuccess() or
606 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- onSendError(). It must call one of them or it must implement
607 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- its own response/error handling, which is not recommended
608 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- because getting the documented semantics of the
609 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- onError/onResponse/afterSend handling correct can be tedious.
610 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
611 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- onSendSuccess:function(request,resp,opt) {
612 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var cb = this.callbacks || {};
613 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( WhAjaj.isFunction(cb.afterSend) ) {
614 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- try {cb.afterSend( request, opt );}
615 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- catch(e){}
616 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
617 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( WhAjaj.isFunction(opt.afterSend) ) {
618 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- try {opt.afterSend( request, opt );}
619 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- catch(e){}
620 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
621 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function doErr(){
622 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( WhAjaj.isFunction(cb.onError) ) {
623 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- try {cb.onError( request, opt );}
624 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- catch(e){}
625 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
626 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( WhAjaj.isFunction(opt.onError) ) {
627 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- try {opt.onError( request, opt );}
628 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- catch(e){}
629 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
630 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
631 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( ! resp ) {
632 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- opt.errorMessage = "Sending of request succeeded but returned no data!";
633 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- doErr();
634 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return false;
635 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
636 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
637 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( 'string' === typeof resp ) {
638 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- try {
639 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- resp = opt.jsonp ? eval(resp) : JSON.parse(resp);
640 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } catch(e) {
641 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- opt.errorMessage = e.toString();
642 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- doErr();
643 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return;
644 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
645 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
646 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- try {
647 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( WhAjaj.isFunction( cb.onResponse ) ) {
648 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- cb.onResponse( resp, request, opt );
649 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
650 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( WhAjaj.isFunction( opt.onResponse ) ) {
651 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- opt.onResponse( resp, request, opt );
652 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
653 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return true;
654 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
655 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- catch(e) {
656 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- opt.errorMessage = "Exception while handling inbound JSON response:\n"
657 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- + e
658 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- +"\nOriginal response data:\n"+JSON.stringify(resp,0,2)
659 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ;
660 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ;
661 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- doErr();
662 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return false;
663 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
664 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- },
665 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
666 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Should be called by sendImpl() implementations after a response
667 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- has failed to connect (e.g. could not resolve host or timeout
668 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- reached). This function takes care of most of ensuring that
669 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- framework-level conventions involving WhAjaj.Connector.options.ajax
670 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- properties are followed.
671 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
672 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- The request argument must be the original request passed to
673 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- the sendImpl() function. It may legally be null for GET
674 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- requests.
675 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
676 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- The 'this' object for this call MUST be a WhAjaj.Connector
677 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- instance in order for callback processing to work properly.
678 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
679 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- The opt object should be the normalized AJAX options used
680 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for the connection. By convention, the caller of this
681 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function "should" set opt.errorMessage to contain a
682 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- human-readable description of the error.
683 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
684 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- The sendImpl() should return immediately after calling this. The
685 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return value from this function is unspecified.
686 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
687 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- onSendError: function(request,opt) {
688 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var cb = this.callbacks || {};
689 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( WhAjaj.isFunction(cb.afterSend) ) {
690 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- try {cb.afterSend( request, opt );}
691 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- catch(e){}
692 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
693 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( WhAjaj.isFunction(opt.afterSend) ) {
694 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- try {opt.afterSend( request, opt );}
695 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- catch(e){}
696 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
697 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( WhAjaj.isFunction( cb.onError ) ) {
698 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- try {cb.onError( request, opt );}
699 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- catch(e) {/*ignore*/}
700 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
701 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( WhAjaj.isFunction( opt.onError ) ) {
702 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- try {opt.onError( request, opt );}
703 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- catch(e) {/*ignore*/}
704 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
705 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
706 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
707 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
708 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
709 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.sendImpls holds several concrete
710 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- implementations of WhAjaj.Connector.prototype.sendImpl(). To use
711 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- a specific implementation by default assign
712 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.prototype.sendImpl to one of these functions.
713 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
714 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- The functions defined here require that the 'this' object be-a
715 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector instance.
716 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
717 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Historical notes:
718 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
719 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- a) We once had an implementation based on Prototype, but that
720 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- library just pisses me off (they change base-most types'
721 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- prototypes, introducing side-effects in client code which
722 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- doesn't even use Prototype). The Prototype version at the time
723 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- had a serious toJSON() bug which caused empty arrays to
724 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- serialize as the string "[]", which broke a bunch of my code.
725 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- (That has been fixed in the mean time, but i don't use
726 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Prototype.)
727 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
728 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- b) We once had an implementation for the dojo library,
729 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
730 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- If/when the time comes to add Prototype/dojo support, we simply
731 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- need to port:
732 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
733 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- http://code.google.com/p/jsonmessage/source/browse/trunk/lib/JSONMessage/JSONMessage.inc.js
734 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
735 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- (search that file for "dojo" and "Prototype") to this tree. That
736 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- code is this code's generic grandfather and they are still very
737 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- similar, so a port is trivial.
738 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
739 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
740 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.sendImpls = {
741 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
742 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- This is a concrete implementation of
743 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.prototype.sendImpl() which uses the
744 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- environment's native XMLHttpRequest class to send whiki
745 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- requests and fetch the responses.
746 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
747 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- The only argument must be a connection properties object, as
748 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- constructed by WhAjaj.Connector.normalizeAjaxParameters().
749 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
750 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- If window.firebug is set then window.firebug.watchXHR() is
751 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- called to enable monitoring of the XMLHttpRequest object.
752 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
753 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- This implementation honors the loginName and loginPassword
754 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- connection parameters.
755 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
756 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Returns the XMLHttpRequest object.
757 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
758 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- This implementation requires that the 'this' object be-a
759 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.
760 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
761 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- This implementation uses setTimeout() to implement the
762 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- timeout support, and thus the JS engine must provide that
763 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- functionality.
764 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
765 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- XMLHttpRequest: function(request, args)
766 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
767 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var json = WhAjaj.isObject(request) ? JSON.stringify(request) : request;
768 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var xhr = new XMLHttpRequest();
769 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var startTime = (new Date()).getTime();
770 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var timeout = args.timeout || 10000/*arbitrary!*/;
771 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var hitTimeout = false;
772 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var done = false;
773 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var tmid /* setTimeout() ID */;
774 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var whself = this;
775 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function handleTimeout()
776 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
777 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- hitTimeout = true;
778 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( ! done )
779 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
780 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var now = (new Date()).getTime();
781 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- try { xhr.abort(); } catch(e) {/*ignore*/}
782 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // see: http://www.w3.org/TR/XMLHttpRequest/#the-abort-method
783 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- args.errorMessage = "Timeout of "+timeout+"ms reached after "+(now-startTime)+"ms during AJAX request.";
784 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.sendHelper.onSendError.apply( whself, [request, args] );
785 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
786 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return;
787 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
788 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function onStateChange()
789 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- { // reminder to self: apparently 'this' is-not-a XHR :/
790 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( hitTimeout )
791 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- { /* we're too late - the error was already triggered. */
792 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return;
793 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
794 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
795 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( 4 == xhr.readyState )
796 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
797 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- done = true;
798 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( tmid )
799 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
800 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- clearTimeout( tmid );
801 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tmid = null;
802 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
803 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( (xhr.status >= 200) && (xhr.status < 300) )
804 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
805 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.sendHelper.onSendSuccess.apply( whself, [request, xhr.responseText, args] );
806 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return;
807 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
808 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else
809 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
810 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( undefined === args.errorMessage )
811 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
812 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- args.errorMessage = "Error sending a '"+args.method+"' AJAX request to "
813 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- +"["+args.url+"]: "
814 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- +"Status text=["+xhr.statusText+"]"
815 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ;
816 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.sendHelper.onSendError.apply( whself, [request, args] );
817 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
818 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else { /*maybe it was was set by the timeout handler. */ }
819 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return;
820 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
821 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
822 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
823 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
824 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- xhr.onreadystatechange = onStateChange;
825 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( ('undefined'!==(typeof window)) && ('firebug' in window) && ('watchXHR' in window.firebug) )
826 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- { /* plug in to firebug lite's XHR monitor... */
827 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- window.firebug.watchXHR( xhr );
828 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
829 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- try
830 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
831 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- //alert( JSON.stringify( args ));
832 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function xhrOpen()
833 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
834 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( ('loginName' in args) && args.loginName )
835 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
836 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- xhr.open( args.method, args.url, args.asynchronous, args.loginName, args.loginPassword );
837 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
838 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else
839 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
840 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- xhr.open( args.method, args.url, args.asynchronous );
841 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
842 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
843 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( json && ('POST' === args.method.toUpperCase()) )
844 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
845 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- xhrOpen();
846 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- xhr.setRequestHeader("Content-Type", "application/json; charset=utf-8");
847 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // Google Chrome warns that it refuses to set these
848 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // "unsafe" headers (his words, not mine):
849 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // xhr.setRequestHeader("Content-length", json.length);
850 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // xhr.setRequestHeader("Connection", "close");
851 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- xhr.send( json );
852 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
853 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else /* assume GET */
854 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
855 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- xhrOpen();
856 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- xhr.send(null);
857 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
858 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tmid = setTimeout( handleTimeout, timeout );
859 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return xhr;
860 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
861 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- catch(e)
862 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
863 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- args.errorMessage = e.toString();
864 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.sendHelper.onSendError.apply( whself, [request, args] );
865 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return undefined;
866 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
867 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }/*XMLHttpRequest()*/,
868 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
869 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- This is a concrete implementation of
870 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.prototype.sendImpl() which uses the jQuery
871 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- AJAX API to send requests and fetch the responses.
872 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
873 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- The first argument may be either null/false, an Object
874 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- containing toJSON-able data to post to the back-end, or such an
875 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- object in JSON string form.
876 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
877 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- The second argument must be a connection properties object, as
878 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- constructed by WhAjaj.Connector.normalizeAjaxParameters().
879 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
880 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- If window.firebug is set then window.firebug.watchXHR() is
881 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- called to enable monitoring of the XMLHttpRequest object.
882 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
883 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- This implementation honors the loginName and loginPassword
884 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- connection parameters.
885 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
886 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Returns the XMLHttpRequest object.
887 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
888 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- This implementation requires that the 'this' object be-a
889 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.
890 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
891 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- jQuery:function(request,args)
892 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
893 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var data = request || undefined;
894 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var whself = this;
895 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( data ) {
896 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if('string'!==typeof data) {
897 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- try {
898 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- data = JSON.stringify(data);
899 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
900 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- catch(e) {
901 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.sendHelper.onSendError.apply( whself, [request, args] );
902 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return;
903 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
904 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
905 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
906 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var ajopt = {
907 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- url: args.url,
908 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- data: data,
909 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- type: args.method,
910 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- async: args.asynchronous,
911 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- password: (undefined !== args.loginPassword) ? args.loginPassword : undefined,
912 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- username: (undefined !== args.loginName) ? args.loginName : undefined,
913 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- contentType: 'application/json; charset=utf-8',
914 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- error: function(xhr, textStatus, errorThrown)
915 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
916 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- //this === the options for this ajax request
917 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- args.errorMessage = "Error sending a '"+ajopt.type+"' request to ["+ajopt.url+"]: "
918 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- +"Status text=["+textStatus+"]"
919 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- +(errorThrown ? ("Error=["+errorThrown+"]") : "")
920 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ;
921 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.sendHelper.onSendError.apply( whself, [request, args] );
922 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- },
923 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- success: function(data)
924 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
925 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.sendHelper.onSendSuccess.apply( whself, [request, data, args] );
926 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- },
927 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* Set dataType=text instead of json to keep jQuery from doing our carefully
928 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- written response handling for us.
929 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
930 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- dataType: 'text'
931 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
932 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( undefined !== args.timeout )
933 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
934 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ajopt.timeout = args.timeout;
935 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
936 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- try
937 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
938 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return jQuery.ajax(ajopt);
939 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
940 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- catch(e)
941 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
942 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- args.errorMessage = e.toString();
943 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.sendHelper.onSendError.apply( whself, [request, args] );
944 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return undefined;
945 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
946 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }/*jQuery()*/,
947 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
948 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- This is a concrete implementation of
949 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.prototype.sendImpl() which uses the rhino
950 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Java API to send requests and fetch the responses.
951 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
952 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Limitations vis-a-vis the interface:
953 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
954 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- - timeouts are not supported.
955 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
956 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- - asynchronous mode is not supported because implementing it
957 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- requires the ability to kill a running thread (which is deprecated
958 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- in the Java API).
959 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
960 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TODOs:
961 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
962 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- - add socket timeouts.
963 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
964 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- - support HTTP proxy.
965 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
966 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- The Java APIs support this, it just hasn't been added here yet.
967 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
968 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rhino:function(request,args)
969 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
970 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var self = this;
971 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var data = request || undefined;
972 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( data ) {
973 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if('string'!==typeof data) {
974 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- try {
975 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- data = JSON.stringify(data);
976 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
977 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- catch(e) {
978 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.sendHelper.onSendError.apply( self, [request, args] );
979 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return;
980 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
981 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
982 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
983 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var url;
984 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var con;
985 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var IO = new JavaImporter(java.io);
986 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var wr;
987 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var rd, ln, json = [];
988 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function setIncomingCookies(list){
989 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if(!list || !list.length) return;
990 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( !self.cookies ) self.cookies = {};
991 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var k, v, i;
992 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for( i = 0; i < list.length; ++i ){
993 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- v = list[i].split('=',2);
994 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- k = decodeURIComponent(v[0])
995 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- v = v[0] ? decodeURIComponent(v[0].split(';',2)[0]) : null;
996 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- //print("RECEIVED COOKIE: "+k+"="+v);
997 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if(!v) {
998 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- delete self.cookies[k];
999 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- continue;
1000 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else{
1001 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- self.cookies[k] = v;
1002 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1003 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1004 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
1005 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function setOutboundCookies(conn){
1006 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if(!self.cookies) return;
1007 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var k, v;
1008 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for( k in self.cookies ){
1009 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if(!self.cookies.hasOwnProperty(k)) continue /*kludge for broken JS libs*/;
1010 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- v = self.cookies[k];
1011 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- conn.addRequestProperty("Cookie", encodeURIComponent(k)+'='+encodeURIComponent(v));
1012 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- //print("SENDING COOKIE: "+k+"="+v);
1013 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1014 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
1015 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- try{
1016 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- url = new java.net.URL( args.url )
1017 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- con = url.openConnection(/*FIXME: add proxy support!*/);
1018 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- con.setRequestProperty("Accept-Charset","utf-8");
1019 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- setOutboundCookies(con);
1020 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if(data){
1021 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- con.setRequestProperty("Content-Type","application/json; charset=utf-8");
1022 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- con.setDoOutput( true );
1023 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- wr = new IO.OutputStreamWriter(con.getOutputStream())
1024 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- wr.write(data);
1025 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- wr.flush();
1026 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- wr.close();
1027 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- wr = null;
1028 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- //print("POSTED: "+data);
1029 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1030 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rd = new IO.BufferedReader(new IO.InputStreamReader(con.getInputStream()));
1031 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- //var skippedHeaders = false;
1032 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while ((line = rd.readLine()) !== null) {
1033 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- //print("LINE: "+line);
1034 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- //if(!line.length && !skippedHeaders){
1035 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // skippedHeaders = true;
1036 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // json = [];
1037 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // continue;
1038 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- //}
1039 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- json.push(line);
1040 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1041 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- setIncomingCookies(con.getHeaderFields().get("Set-Cookie"));
1042 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }catch(e){
1043 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- args.errorMessage = e.toString();
1044 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.sendHelper.onSendError.apply( self, [request, args] );
1045 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return undefined;
1046 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1047 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- try { if(wr) wr.close(); } catch(e) { /*ignore*/}
1048 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- try { if(rd) rd.close(); } catch(e) { /*ignore*/}
1049 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- json = json.join('');
1050 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- //print("READ IN JSON: "+json);
1051 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.sendHelper.onSendSuccess.apply( self, [request, json, args] );
1052 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }/*rhino*/
1053 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
1054 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1055 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
1056 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- An internal function which takes an object containing properties
1057 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for a WhAjaj.Connector network request. This function creates a new
1058 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- object containing a superset of the properties from:
1059 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1060 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- a) opt
1061 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- b) this.options
1062 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- c) WhAjaj.Connector.options.ajax
1063 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1064 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- in that order, using the first one it finds.
1065 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1066 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- All non-function properties are _deeply_ copied via JSON cloning
1067 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- in order to prevent accidental "cross-request pollenation" (been
1068 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- there, done that). Functions cannot be cloned and are simply
1069 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- copied by reference.
1070 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1071 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- This function throws if JSON-copying one of the options fails
1072 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- (e.g. due to cyclic data structures).
1073 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1074 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Reminder to self: this function does not "normalize" opt.urlParam
1075 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- by encoding it into opt.url, mainly for historical reasons, but
1076 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- also because that behaviour was specifically undesirable in this
1077 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- code's genetic father.
1078 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
1079 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.prototype.normalizeAjaxParameters = function (opt)
1080 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1081 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var rc = {};
1082 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function merge(k,v)
1083 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1084 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( rc.hasOwnProperty(k) ) return;
1085 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else if( WhAjaj.isFunction(v) ) {}
1086 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else if( WhAjaj.isObject(v) ) v = JSON.parse( JSON.stringify(v) );
1087 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rc[k]=v;
1088 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1089 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function cp(obj) {
1090 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( ! WhAjaj.isObject(obj) ) return;
1091 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var k;
1092 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for( k in obj ) {
1093 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( ! obj.hasOwnProperty(k) ) continue /* i will always hate the Prototype designers for this. */;
1094 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- merge(k, obj[k]);
1095 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1096 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1097 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- cp( opt );
1098 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- cp( this.options );
1099 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- cp( WhAjaj.Connector.options.ajax );
1100 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // no, not here: rc.url = WhAjaj.Connector.sendHelper.normalizeURL(rc);
1101 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return rc;
1102 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
1103 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1104 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
1105 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- This is the generic interface for making calls to a back-end
1106 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- JSON-producing request handler. It is a simple wrapper around
1107 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.prototype.sendImpl(), which just normalizes the
1108 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- connection options for sendImpl() and makes sure that
1109 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- opt.beforeSend() is (possibly) called.
1110 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1111 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- The request parameter must either be false/null/empty or a
1112 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fully-populated JSON-able request object (which will be sent as
1113 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- unencoded application/json text), depending on the type of
1114 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- request being made. It is never semantically legal (in this API)
1115 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for request to be a string/number/true/array value. As a rule,
1116 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- only POST requests use the request data. GET requests should
1117 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- encode their data in opt.url or opt.urlParam (see below).
1118 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1119 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- opt must contain the network-related parameters for the request.
1120 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Paramters _not_ set in opt are pulled from this.options or
1121 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.options.ajax (in that order, using the first
1122 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- value it finds). Thus the set of connection-level options used
1123 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for the request are a superset of those various sources.
1124 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1125 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- The "normalized" (or "superimposed") opt object's URL may be
1126 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- modified before the request is sent, as follows:
1127 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1128 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if opt.urlParam is a string then it is assumed to be properly
1129 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- URL-encoded parameters and is appended to the opt.url. If it is
1130 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- an Object then it is assumed to be a one-dimensional set of
1131 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- key/value pairs with simple values (numbers, strings, booleans,
1132 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- null, and NOT objects/arrays). The keys/values are URL-encoded
1133 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- and appended to the URL.
1134 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1135 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- The beforeSend() callback (see below) can modify the options
1136 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- object before the request attempt is made.
1137 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1138 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- The callbacks in the normalized opt object will be triggered as
1139 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- follows (if they are set to Function values):
1140 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1141 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- - beforeSend(request,opt) will be called before any network
1142 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- processing starts. If beforeSend() throws then no other
1143 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- callbacks are triggered and this function propagates the
1144 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- exception. This function is passed normalized connection options
1145 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- as its second parameter, and changes this function makes to that
1146 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- object _will_ be used for the pending connection attempt.
1147 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1148 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- - onError(request,opt) will be called if a connection to the
1149 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- back-end cannot be established. It will be passed the original
1150 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- request object (which might be null, depending on the request
1151 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- type) and the normalized options object. In the error case, the
1152 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- opt object passed to onError() "should" have a property called
1153 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "errorMessage" which contains a description of the problem.
1154 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1155 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- - onError(request,opt) will also be called if connection
1156 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- succeeds but the response is not JSON data.
1157 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1158 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- - onResponse(response,request) will be called if the response
1159 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- returns JSON data. That data might hold an error response code -
1160 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- clients need to check for that. It is passed the response object
1161 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- (a plain object) and the original request object.
1162 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1163 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- - afterSend(request,opt) will be called directly after the
1164 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- AJAX request is finished, before onError() or onResonse() are
1165 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- called. Possible TODO: we explicitly do NOT pass the response to
1166 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- this function in order to keep the line between the responsibilities
1167 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- of the various callback clear (otherwise this could be used the same
1168 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- as onResponse()). In practice it would sometimes be useful have the
1169 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- response passed to this function, mainly for logging/debugging
1170 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- purposes.
1171 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1172 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- The return value from this function is meaningless because
1173 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- AJAX operations tend to take place asynchronously.
1174 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1175 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
1176 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.prototype.sendRequest = function(request,opt)
1177 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1178 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( !WhAjaj.isFunction(this.sendImpl) )
1179 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1180 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- throw new Error("This object has no sendImpl() member function! I don't know how to send the request!");
1181 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1182 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var ex = false;
1183 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var av = Array.prototype.slice.apply( arguments, [0] );
1184 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1185 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
1186 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- FIXME: how to handle the error, vis-a-vis- the callbacks, if
1187 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- normalizeAjaxParameters() throws? It can throw if
1188 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- (de)JSON-izing fails.
1189 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
1190 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var norm = this.normalizeAjaxParameters( WhAjaj.isObject(opt) ? opt : {} );
1191 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- norm.url = WhAjaj.Connector.sendHelper.normalizeURL(norm);
1192 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( ! request ) norm.method = 'GET';
1193 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var cb = this.callbacks || {};
1194 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( this.callbacks && WhAjaj.isFunction(this.callbacks.beforeSend) ) {
1195 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- this.callbacks.beforeSend( request, norm );
1196 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1197 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( WhAjaj.isFunction(norm.beforeSend) ){
1198 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- norm.beforeSend( request, norm );
1199 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1200 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- //alert( WhAjaj.stringify(request)+'\n'+WhAjaj.stringify(norm));
1201 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- try { this.sendImpl( request, norm ); }
1202 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- catch(e) { ex = e; }
1203 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if(ex) throw ex;
1204 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
1205 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1206 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
1207 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- sendImpl() holds a concrete back-end connection implementation. It
1208 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- can be replaced with a custom implementation if one follows the rules
1209 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- described throughout this API. See WhAjaj.Connector.sendImpls for
1210 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- the concrete implementations included with this API.
1211 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
1212 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- //WhAjaj.Connector.prototype.sendImpl = WhAjaj.Connector.sendImpls.XMLHttpRequest;
1213 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- //WhAjaj.Connector.prototype.sendImpl = WhAjaj.Connector.sendImpls.rhino;
1214 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- //WhAjaj.Connector.prototype.sendImpl = WhAjaj.Connector.sendImpls.jQuery;
1215 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1216 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( 'undefined' !== typeof jQuery ){
1217 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.prototype.sendImpl = WhAjaj.Connector.sendImpls.jQuery;
1218 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1219 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else {
1220 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WhAjaj.Connector.prototype.sendImpl = WhAjaj.Connector.sendImpls.XMLHttpRequest;
1221 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }