Added my AJAX test code after accidentally deleting my local copy (thank goodness the test server still had a copy). See the README if you want to set it up locally under apache.
+ This file provides a JS interface into the core functionality of
3
+ a whiki CGI back-endver
4
+ insofar as possible.
5
+
6
+ All functionality is part of a class name framework.
7
+
8
+ Author: Stephan Beal (http://wanderinghorse.net/home/stephan/)
9
+
10
+ License: Public Domain
11
+
12
+ This framework is directly derived from code originally found in
13
+ http://code.google.com/
14
+ http://whiki.wanderinghorse.net, where it contained quite a bit
15
+ of application-specific logic. It was eventually (the 3rd time i
16
+ needed it) split off into its own library to simplify inclusion
17
+ into my many mini-projects.
18
+*/
19
+
20
+
21
+/**
22
+ The WhAjaj function is primarily a namespace, and not intended
23
+ to called or instantiated via the 'new' operator.
24
+*/
25
+function WhAjaj()
26
+{
27
+}
28
+
29
+/** Returns a millisecew Date()).getTime();
30
+};
31
+
32
+/** Returns a Unix Epoch timestamp (in seconds) in integer format.
33
+
34
+
35
+ FIXME: keys w/o '=', or with no value, "should probably" be
36
+ treated as boolean onds) in integer format.
37
+
38
+ Reminder to self: (1.1 %1.2) evaluate
39
+ in JS, and thus this implementation is less thundefinedation is less than optimal.
40
+*/
41
+WhAjaj.unixTimestamp = function()
42
+{
43
+ var ts = (new Date()).getTime();
44
+ return parseInt( ""+((ts / 1000) % ts) );
45
+};
46
+
47
+/**
48
+ Returns true if v is-a Array instance.
49
+*/
50
+WhAja {name:name, password:pw**
51
+ This file provides a JS interface into the core functionality of
52
+ JSON-centric back-ends. It sends GET or JSON POST requests to
53
+ a back-end and expecJ the very first
54
+ and see where i
55
+ break my other
56
+ th that
57
+ string). The initiatingest object is
58
+ can normally specific expects JSON responses. The exact semantics of
59
+ the underlying back-end and overlying front-/**
60
+ This file prov callbacks (set in
61
+( require it in some
62
+ which
63
+ *
64
+ This file prov interface into the
65
+ indicates an
66
+ to produces
67
+ a back-end a/**
68
+ This f
69
+ //if( json ) json = json.replace(/ö/g,"\\u00f6") /* ONLY FOR A SPECIFIC TEST */;
70
+ for deeply archaic reasons whichmight no longer apply.
71
+ var xhr = if( xhr && xhr
72
+ =()Success This file provides a JS interface into the core functionality of
73
+ JSON-centric back-ends. It sends GET or JSON POST requests to
74
+ a back-end and expects JSON responses. The exact semantics of
75
+ the underlying back-end and overlying front-end are not its concern,
76
+ and it leaves the interpretation of the data up to the client/server
77
+ insofar as possible.
78
+
79
+ All functionality is part of a class named WhAjaj, and that class
80
+ acts as namespace for this framework.
81
+
82
+ Author: Stephan Beal (http://wanderinghorse.net/home/stephan/)
83
+
84
+ License: Public Domain
85
+
86
+ This framework is directly derived from code originally found in
87
+ http://code.google.com/
88
+ http://whiki.wanderinghorse.net, where it contained quite a bit
89
+ of application-specific logic. It was eventually (the 3rd time i
90
+ needed it) split off into its own library to simplify inclusion
91
+ into my many mini-projects.
92
+*/
93
+
94
+
95
+/**
96
+ The WhAjaj function is primarily a namespace, and not intended
97
+ to called or instantiated via the 'new' operator.
98
+*/
99
+function WhAjaj()
100
+{
101
+}
102
+
103
+/** Returns a millisecew Date()).getTime();
104
+};
105
+
106
+/** Returns a Unix Epoch timestamp (in seconds) in integer format.
107
+
108
+ Reminder to self: (1.1 %1.2) evaluate
109
+ in JS, and thus this implementation is less thundefinedation is less than optimal.
110
+*/
111
+WhAjaj.unixTimestamp = function()
112
+{
113
+ var ts = (new Date()).getTime();
114
+ return parseInt( ""+((ts / 1000) % ts) );
115
+};
116
+
117
+/**
118
+ Returns true if v is-a Array instance.
119
+*/
120
+WhAja {name:name, password:pw**
121
+ This file provides a JS interface into the core functionality of
122
+ JSON-centric back-ends. It sends GET or JSON POST requests to
123
+ a back-end and expecJ the very first
124
+ and see where i
125
+ break my other
126
+ th that
127
+ string). The initiatingest object is
128
+ can normally specific expects JSON responses. The exact semantics of
129
+ the underlying back-end and overlying front-/**
130
+ This file prov callbacks (set in
131
+( require it in some
132
+ which
133
+ *
134
+ This file prov interface into the
135
+ indicates an
136
+ to produces
137
+ a back-end a/**
138
+ This f
139
+ //if( json ) json = json.replace(/ö/g,"\\u00f6") /* ONLY FOR A SPECIFIC TEST */;
140
+ for deeply archaic reasons whichmight no longer apply.
141
+ var xhr = if( xhr && xhr
142
+ =()vides a JS interface into the core functionality of
143
+ JSON-centric back-ends. It sends GET or JSON POST requests to
144
+ a back-end and expects JSON responses. The exact semantics of
145
+ the underlying back-end and overlying front-end are not its concern,
146
+ and it leaves the interpretation of the data up to the client/server
147
+ insofar as possible.
148
+
149
+ All functionality is part of a class named WhAjaj, and that class
150
+ acts as namespace for this frameworkthis.options = a backvar onError =opt.onError) ? try{
151
+
152
+ This le provides a JS interface into the core functionality of
153
+ JSON-centric back-ends. It sends GET or JSON POST requests to
154
+ a back-end and expects
155
+*/*/;
156
+);wr.writeghorse.net/home/step/**
157
+ This file provides a JS interfac JS interface into the coterface into the core functionality of
158
+ JSON-centric back-ends. It sends GET or JSON POST requests to
159
+ a back-end and expects JSON responses. The exact semantics of
160
+ the underlying back-end and overlying front-enrdSuccess( request, jn,
161
+ and it leaves the /**
162
+ This file provides a JS interface into the core functionality of
163
+ JSON-centric back-ends. It sends GET or JSON POST requests to
164
+ a back-end and expects JSON responses. The exact semantics of
165
+ the underlying back-end and overlying front-end are not its concern,
166
+ and it leaves the interpretation of the data up to the client/server
167
+ insofar as possible.
168
+
169
+ All functionality is part of a class named WhAjaj, and that class
170
+ acts as namespace for this framework.
171
+
172
+ Author: Stephan Beal (http://wanderinghorse.net/home/stephan/)
173
+
174
+ License: Public Domain
175
+
176
+ This framework is directly derived from code originally found in
177
+ http://code.google.com/
178
+ http://whiki.wanderinghorse.net, where it contained quite a bit
179
+ of application-specific logic. It was eventually (the 3rd time i
180
+ needed it) split off into its own library to simplify inclusion
181
+ into my many mini-projects.
182
+*/
183
+
184
+
185
+/**
186
+ The WhAjaj function is primarily a namespace, and not intended
187
+ to called or instantiated via the 'new' operator.
188
+*/
189
+function WhAjaj()
190
+{
191
+}
192
+
193
+/** Returns a millisecew Date()).getTime();
194
+};
195
+
196
+/** Returns a Unix Epoch timestamp (in seconds) in integer format.
197
+
198
+ Reminder to self: (1.1 %1.2) evaluate
199
+ in JS, and thus this implementation is less thundefinedation is less than optimal.
200
+*/
201
+WhAjaj.unixTimestamp = function()
202
+{
203
+ var ts = (new Date()).getTime();
204
+ return parseInt( ""+((ts / 1000) % ts) );
205
+};
206
+
207
+/**
208
+ Returns true if v is-a Array instance.
209
+*/
210
+WhAja {name:name, password:pw**
211
+ This file provides a JS interface into the core functionality of
212
+ JSON-centric back-ends. It sends GET or JSON POST requests to
213
+ a back-end and expecJ the very first
214
+ and see where i
215
+ break my other
216
+ th that
217
+ string). The initiatingest object is
218
+ can normally specific expects JSON responses. The exact semantics of
219
+ the underlying back-end and overlying front-/**
220
+ This file prov callbacks (set in
221
+( require it in some
222
+ which
223
+ *
224
+ This file prov interface into the
225
+ indicates an
226
+ to produces
227
+ a back-end a/**
228
+ This f
229
+ //if( json ) json = json.replace(/ö/g,"\\u00f6") /* ONLY FOR A SPECIFIC TEST */;
230
+ for deeply archaic reasons whichmight no longer apply.
231
+ var xhr = if( xhr && xhr
232
+ =()Success This file provides a JS interface into the core functionality of
233
+ JSON-centric back-ends. It sends GET or JSON POST requests to
234
+ a back-end and expects JSON responses. The exact semantics of
235
+ the underlying back-end and overlying front-end are not its concern,
236
+ and it leaves the interpretation of the data up to the client/server
237
+ insofar as possible.
238
+
239
+ All functionality is part of a class named WhAjaj, and that class
240
+ acts as namespace for this framework.
241
+
242
+ Author: Stephan Beal (http://wanderinghorse.net/home/stephan/)
243
+
244
+ License: Public Domain
245
+
246
+ This framework is directly derived from code originally found in
247
+ http://code.google.com/
248
+ http://whiki.wanderinghorse.net, where it contained quite a bit
249
+ of application-specific logic. It was eventually (the 3rd time i
250
+ needed it) split off into its own library to simplify inclusion
251
+ into my many mini-projects.
252
+*/
253
+
254
+
255
+/**
256
+ The WhAjaj function is primarily a namespace, and not intended
257
+ to called or instantiated via the 'new' operator.
258
+*/
259
+function WhAjaj()
260
+{
261
+}
262
+
263
+/** Returns a millisecew Date()).getTime();
264
+};
265
+
266
+/** Returns a Unix Epoch timestamp (in seconds) in integer format.
267
+
268
+ Reminder to self: (1.1 %1.2) evaluate
269
+ in JS, and thus this implementation is less thundefinedation is less than optimal.
270
+*/
271
+WhAjaj.unixTimestamp = function()
272
+{
273
+ var ts = (new Date()).getTime();
274
+ return parseInt( ""+((ts / 1000) % ts) );
275
+};
276
+
277
+/**
278
+ Returns true if v is-a Array instance.
279
+*/
280
+WhAja {name:name, password:pw**
281
+ This file provides a JS interface into the core functionality of
282
+ JSON-centric back-ends. It sends GET or JSON POST requests to
283
+ a back-end and expecJ the very first
284
+ and see where i
285
+ break my other
286
+ th that
287
+ string). The initiatingest object is
288
+ can normally specific expects JSON responses. The exact semantics of
289
+ the underlying back-end and overlying front-/**
290
+ This file prov callbacks (set in
291
+( require it in some
292
+ which
293
+ *
294
+ This file prov interface into the
295
+ indicates an
296
+ to produces
297
+ a back-end a/**
298
+ This f
299
+ //if( json ) json = json.replace(/ö/g,"\\u00f6") /* ONLY FOR A SPECIFIC TEST */;
300
+ for deeply archaic reasons whichmight no longer apply.
301
+ var xhr = if( xhr && xhr
302
+ =()vides a JS interface into the core functionality of
303
+ JSON-centric back-ends. It sends GET or JSON POST requests to
304
+ a back-end and expects JSON responses. The exact semantics of
305
+ the underlying back-enjQuery;
306
+work.
307
+
308
+ Author: /**
309
+ This 'POST'R@3iW,C5@2Tj,2F@2bA,8:Passwordb@2dT,1A@2hl,1:X24@2iw,4:6000U@3iW,7:an AJAXk@2le,H:
310
+ thatn@2md,M@3RD,G@2oW,G@8f0,E:is passed as
311
+C@6yB,X@2pP,_: can normally ignore it
312
+ _@2qT,M@2rD,5:
313
+ 8@4pS,1e@2rZ,I:
314
+ whichm@2tT,5:
315
+ 8@22G,F:this error infob@2ue,L@3MB,I: is that this dataV@2vq,C:
316
+ X@2wK,A: to reportO@2bB,h@2xM,1: 9@2kj,O@2yB,a: is unexpected and is as fatal to theL@2ol,W@2zr,4: K@2d0,Cp@2~X,1:XDO@3CM,1:XJm@3Pk,1IQ@3ow,x@5lF,K@6OG,Dn@5Bi,x@5Pt,m@5ZE,Q@6jS,M@6y0,1:
317
+8@3il,I@5IV,M@8Ql,4HW@5Tf,2u@9kB,2jR7xs; This file provivides a JS interface into the core functionality of
318
+ a whiki CGI back-endv
--- a/ajax/js/whajaj.js
+++ b/ajax/js/whajaj.js
@@ -0,0 +1,318 @@
--- a/ajax/js/whajaj.js
+++ b/ajax/js/whajaj.js
@@ -0,0 +1,318 @@
1
/**
2
This file provides a JS interface into the core functionality of
3
a whiki CGI back-endver
4
insofar as possible.
5
6
All functionality is part of a class name framework.
7
8
Author: Stephan Beal (http://wanderinghorse.net/home/stephan/)
9
10
License: Public Domain
11
12
This framework is directly derived from code originally found in
13
http://code.google.com/
14
http://whiki.wanderinghorse.net, where it contained quite a bit
15
of application-specific logic. It was eventually (the 3rd time i
16
needed it) split off into its own library to simplify inclusion
17
into my many mini-projects.
18
*/
19
20
21
/**
22
The WhAjaj function is primarily a namespace, and not intended
23
to called or instantiated via the 'new' operator.
24
*/
25
function WhAjaj()
26
{
27
}
28
29
/** Returns a millisecew Date()).getTime();
30
};
31
32
/** Returns a Unix Epoch timestamp (in seconds) in integer format.
33
34
35
FIXME: keys w/o '=', or with no value, "should probably" be
36
treated as boolean onds) in integer format.
37
38
Reminder to self: (1.1 %1.2) evaluate
39
in JS, and thus this implementation is less thundefinedation is less than optimal.
40
*/
41
WhAjaj.unixTimestamp = function()
42
{
43
var ts = (new Date()).getTime();
44
return parseInt( ""+((ts / 1000) % ts) );
45
};
46
47
/**
48
Returns true if v is-a Array instance.
49
*/
50
WhAja {name:name, password:pw**
51
This file provides a JS interface into the core functionality of
52
JSON-centric back-ends. It sends GET or JSON POST requests to
53
a back-end and expecJ the very first
54
and see where i
55
break my other
56
th that
57
string). The initiatingest object is
58
can normally specific expects JSON responses. The exact semantics of
59
the underlying back-end and overlying front-/**
60
This file prov callbacks (set in
61
( require it in some
62
which
63
*
64
This file prov interface into the
65
indicates an
66
to produces
67
a back-end a/**
68
This f
69
//if( json ) json = json.replace(/ö/g,"\\u00f6") /* ONLY FOR A SPECIFIC TEST */;
70
for deeply archaic reasons whichmight no longer apply.
71
var xhr = if( xhr && xhr
72
=()Success This file provides a JS interface into the core functionality of
73
JSON-centric back-ends. It sends GET or JSON POST requests to
74
a back-end and expects JSON responses. The exact semantics of
75
the underlying back-end and overlying front-end are not its concern,
76
and it leaves the interpretation of the data up to the client/server
77
insofar as possible.
78
79
All functionality is part of a class named WhAjaj, and that class
80
acts as namespace for this framework.
81
82
Author: Stephan Beal (http://wanderinghorse.net/home/stephan/)
83
84
License: Public Domain
85
86
This framework is directly derived from code originally found in
87
http://code.google.com/
88
http://whiki.wanderinghorse.net, where it contained quite a bit
89
of application-specific logic. It was eventually (the 3rd time i
90
needed it) split off into its own library to simplify inclusion
91
into my many mini-projects.
92
*/
93
94
95
/**
96
The WhAjaj function is primarily a namespace, and not intended
97
to called or instantiated via the 'new' operator.
98
*/
99
function WhAjaj()
100
{
101
}
102
103
/** Returns a millisecew Date()).getTime();
104
};
105
106
/** Returns a Unix Epoch timestamp (in seconds) in integer format.
107
108
Reminder to self: (1.1 %1.2) evaluate
109
in JS, and thus this implementation is less thundefinedation is less than optimal.
110
*/
111
WhAjaj.unixTimestamp = function()
112
{
113
var ts = (new Date()).getTime();
114
return parseInt( ""+((ts / 1000) % ts) );
115
};
116
117
/**
118
Returns true if v is-a Array instance.
119
*/
120
WhAja {name:name, password:pw**
121
This file provides a JS interface into the core functionality of
122
JSON-centric back-ends. It sends GET or JSON POST requests to
123
a back-end and expecJ the very first
124
and see where i
125
break my other
126
th that
127
string). The initiatingest object is
128
can normally specific expects JSON responses. The exact semantics of
129
the underlying back-end and overlying front-/**
130
This file prov callbacks (set in
131
( require it in some
132
which
133
*
134
This file prov interface into the
135
indicates an
136
to produces
137
a back-end a/**
138
This f
139
//if( json ) json = json.replace(/ö/g,"\\u00f6") /* ONLY FOR A SPECIFIC TEST */;
140
for deeply archaic reasons whichmight no longer apply.
141
var xhr = if( xhr && xhr
142
=()vides a JS interface into the core functionality of
143
JSON-centric back-ends. It sends GET or JSON POST requests to
144
a back-end and expects JSON responses. The exact semantics of
145
the underlying back-end and overlying front-end are not its concern,
146
and it leaves the interpretation of the data up to the client/server
147
insofar as possible.
148
149
All functionality is part of a class named WhAjaj, and that class
150
acts as namespace for this frameworkthis.options = a backvar onError =opt.onError) ? try{
151
152
This le provides a JS interface into the core functionality of
153
JSON-centric back-ends. It sends GET or JSON POST requests to
154
a back-end and expects
155
*/*/;
156
);wr.writeghorse.net/home/step/**
157
This file provides a JS interfac JS interface into the coterface into the core functionality of
158
JSON-centric back-ends. It sends GET or JSON POST requests to
159
a back-end and expects JSON responses. The exact semantics of
160
the underlying back-end and overlying front-enrdSuccess( request, jn,
161
and it leaves the /**
162
This file provides a JS interface into the core functionality of
163
JSON-centric back-ends. It sends GET or JSON POST requests to
164
a back-end and expects JSON responses. The exact semantics of
165
the underlying back-end and overlying front-end are not its concern,
166
and it leaves the interpretation of the data up to the client/server
167
insofar as possible.
168
169
All functionality is part of a class named WhAjaj, and that class
170
acts as namespace for this framework.
171
172
Author: Stephan Beal (http://wanderinghorse.net/home/stephan/)
173
174
License: Public Domain
175
176
This framework is directly derived from code originally found in
177
http://code.google.com/
178
http://whiki.wanderinghorse.net, where it contained quite a bit
179
of application-specific logic. It was eventually (the 3rd time i
180
needed it) split off into its own library to simplify inclusion
181
into my many mini-projects.
182
*/
183
184
185
/**
186
The WhAjaj function is primarily a namespace, and not intended
187
to called or instantiated via the 'new' operator.
188
*/
189
function WhAjaj()
190
{
191
}
192
193
/** Returns a millisecew Date()).getTime();
194
};
195
196
/** Returns a Unix Epoch timestamp (in seconds) in integer format.
197
198
Reminder to self: (1.1 %1.2) evaluate
199
in JS, and thus this implementation is less thundefinedation is less than optimal.
200
*/
201
WhAjaj.unixTimestamp = function()
202
{
203
var ts = (new Date()).getTime();
204
return parseInt( ""+((ts / 1000) % ts) );
205
};
206
207
/**
208
Returns true if v is-a Array instance.
209
*/
210
WhAja {name:name, password:pw**
211
This file provides a JS interface into the core functionality of
212
JSON-centric back-ends. It sends GET or JSON POST requests to
213
a back-end and expecJ the very first
214
and see where i
215
break my other
216
th that
217
string). The initiatingest object is
218
can normally specific expects JSON responses. The exact semantics of
219
the underlying back-end and overlying front-/**
220
This file prov callbacks (set in
221
( require it in some
222
which
223
*
224
This file prov interface into the
225
indicates an
226
to produces
227
a back-end a/**
228
This f
229
//if( json ) json = json.replace(/ö/g,"\\u00f6") /* ONLY FOR A SPECIFIC TEST */;
230
for deeply archaic reasons whichmight no longer apply.
231
var xhr = if( xhr && xhr
232
=()Success This file provides a JS interface into the core functionality of
233
JSON-centric back-ends. It sends GET or JSON POST requests to
234
a back-end and expects JSON responses. The exact semantics of
235
the underlying back-end and overlying front-end are not its concern,
236
and it leaves the interpretation of the data up to the client/server
237
insofar as possible.
238
239
All functionality is part of a class named WhAjaj, and that class
240
acts as namespace for this framework.
241
242
Author: Stephan Beal (http://wanderinghorse.net/home/stephan/)
243
244
License: Public Domain
245
246
This framework is directly derived from code originally found in
247
http://code.google.com/
248
http://whiki.wanderinghorse.net, where it contained quite a bit
249
of application-specific logic. It was eventually (the 3rd time i
250
needed it) split off into its own library to simplify inclusion
251
into my many mini-projects.
252
*/
253
254
255
/**
256
The WhAjaj function is primarily a namespace, and not intended
257
to called or instantiated via the 'new' operator.
258
*/
259
function WhAjaj()
260
{
261
}
262
263
/** Returns a millisecew Date()).getTime();
264
};
265
266
/** Returns a Unix Epoch timestamp (in seconds) in integer format.
267
268
Reminder to self: (1.1 %1.2) evaluate
269
in JS, and thus this implementation is less thundefinedation is less than optimal.
270
*/
271
WhAjaj.unixTimestamp = function()
272
{
273
var ts = (new Date()).getTime();
274
return parseInt( ""+((ts / 1000) % ts) );
275
};
276
277
/**
278
Returns true if v is-a Array instance.
279
*/
280
WhAja {name:name, password:pw**
281
This file provides a JS interface into the core functionality of
282
JSON-centric back-ends. It sends GET or JSON POST requests to
283
a back-end and expecJ the very first
284
and see where i
285
break my other
286
th that
287
string). The initiatingest object is
288
can normally specific expects JSON responses. The exact semantics of
289
the underlying back-end and overlying front-/**
290
This file prov callbacks (set in
291
( require it in some
292
which
293
*
294
This file prov interface into the
295
indicates an
296
to produces
297
a back-end a/**
298
This f
299
//if( json ) json = json.replace(/ö/g,"\\u00f6") /* ONLY FOR A SPECIFIC TEST */;
300
for deeply archaic reasons whichmight no longer apply.
301
var xhr = if( xhr && xhr
302
=()vides a JS interface into the core functionality of
303
JSON-centric back-ends. It sends GET or JSON POST requests to
304
a back-end and expects JSON responses. The exact semantics of
305
the underlying back-enjQuery;
306
work.
307
308
Author: /**
309
This 'POST'R@3iW,C5@2Tj,2F@2bA,8:Passwordb@2dT,1A@2hl,1:X24@2iw,4:6000U@3iW,7:an AJAXk@2le,H:
310
thatn@2md,M@3RD,G@2oW,G@8f0,E:is passed as
311
C@6yB,X@2pP,_: can normally ignore it
312
_@2qT,M@2rD,5:
313
8@4pS,1e@2rZ,I:
314
whichm@2tT,5:
315
8@22G,F:this error infob@2ue,L@3MB,I: is that this dataV@2vq,C:
316
X@2wK,A: to reportO@2bB,h@2xM,1: 9@2kj,O@2yB,a: is unexpected and is as fatal to theL@2ol,W@2zr,4: K@2d0,Cp@2~X,1:XDO@3CM,1:XJm@3Pk,1IQ@3ow,x@5lF,K@6OG,Dn@5Bi,x@5Pt,m@5ZE,Q@6jS,M@6y0,1:
317
8@3il,I@5IV,M@8Ql,4HW@5Tf,2u@9kB,2jR7xs; This file provivides a JS interface into the core functionality of