Showing
6 changed files
with
103 additions
and
87 deletions
... | ... | @@ -14,8 +14,9 @@ class dummy extends c_xmlify |
14 | 14 | protected $var1; |
15 | 15 | protected $var2; |
16 | 16 | protected $var3; |
17 | + protected $var4; | |
17 | 18 | |
18 | - function __construct ($xr = NULL, $v1, $v2, $v3) | |
19 | + function __construct ($xr = NULL, $v1, $v2, $v3, $v4) | |
19 | 20 | { |
20 | 21 | if ($xr !== NULL) |
21 | 22 | parent::__construct ($xr); |
... | ... | @@ -23,11 +24,13 @@ class dummy extends c_xmlify |
23 | 24 | $this->var1 = $v1; |
24 | 25 | $this->var2 = $v2; |
25 | 26 | $this->var3 = $v3; |
27 | + $this->var4 = $v4; | |
26 | 28 | } |
27 | 29 | }; |
28 | 30 | |
29 | 31 | $_data = new dummy ( |
30 | - NULL, array ('var1'=>0.53, 'var2'=>1.1), array (12, 13), "Hallo"); | |
32 | + NULL, array ('var1'=>0.53, 'var2'=>1.1), array (12, 13), "Hallo", | |
33 | + new dummy (NULL, "Das", "ist", "ein", "test")); | |
31 | 34 | |
32 | 35 | //$_data = array (array ('var1'=>0.53, 'var2'=>1.1), array (12, 13), "Hallo"); |
33 | 36 | ... | ... |
js/callbacks.js
0 → 100644
1 | +if (typeof (nBildertool) === 'undefined') | |
2 | + nBildertool = {}; | |
3 | + | |
4 | +nBildertool.cbCommon = function () | |
5 | +{ | |
6 | + switch (nBildertool.req.readyState) | |
7 | + { | |
8 | + case 4: | |
9 | + if (nBildertool.req.status != 200) | |
10 | + alert ("Fehler:" + nBildertool.req.status); | |
11 | + else | |
12 | + { | |
13 | + data = nBildertool.deXmlify (nBildertool.req.responseXML); | |
14 | + console.dir (data); | |
15 | + } | |
16 | + return true; | |
17 | + | |
18 | + default: | |
19 | + return false; | |
20 | + } | |
21 | +} | ... | ... |
js/service.js
0 → 100644
1 | +if (typeof (nBildertool) === 'undefined') | |
2 | + nBildertool = {}; | |
3 | + | |
4 | +nBildertool.req = null; | |
5 | + | |
6 | +nBildertool.service = function (url, callback) | |
7 | +{ | |
8 | + // erstellen des requests | |
9 | + | |
10 | + try | |
11 | + { | |
12 | + nBildertool.req = new XMLHttpRequest(); | |
13 | + } | |
14 | + catch (e) | |
15 | + { | |
16 | + try | |
17 | + { | |
18 | + nBildertool.req = new ActiveXObject("Msxml2.XMLHTTP"); | |
19 | + } | |
20 | + catch (e) | |
21 | + { | |
22 | + try | |
23 | + { | |
24 | + nBildertool.req = new ActiveXObject("Microsoft.XMLHTTP"); | |
25 | + } | |
26 | + catch (failed) | |
27 | + { | |
28 | + nBildertool.req = null; | |
29 | + } | |
30 | + } | |
31 | + } | |
32 | + | |
33 | + if (nBildertool.req == null) | |
34 | + alert("Error creating request object!"); | |
35 | + | |
36 | + nBildertool.req.open("GET", url, true); | |
37 | + | |
38 | + // Beim abschliessen des request wird diese Funktion ausgeführt | |
39 | + if (typeof (callback) === 'undefined') | |
40 | + nBildertool.req.onreadystatechange = nBildertool.cbCommon; | |
41 | + else | |
42 | + nBildertool.req.onreadystatechange = callback; | |
43 | + | |
44 | + nBildertool.req.setRequestHeader("Content-Type", | |
45 | + "application/x-www-form-urlencoded"); | |
46 | + | |
47 | + nBildertool.req.send(null); | |
48 | +} | ... | ... |
1 | -function xmlToVar (data) | |
1 | +if (typeof (nBildertool) === 'undefined') | |
2 | + nBildertool = {}; | |
3 | + | |
4 | +nBildertool.xmlToVar = function (data) | |
2 | 5 | { |
3 | 6 | if (!data.hasChildNodes ()) |
4 | 7 | return null; |
... | ... | @@ -25,7 +28,7 @@ function xmlToVar (data) |
25 | 28 | return ret; |
26 | 29 | } |
27 | 30 | |
28 | -function xmlToObjectArray (data) | |
31 | +nBildertool.xmlToObjectArray = function (data) | |
29 | 32 | { |
30 | 33 | var ret = new Array (); |
31 | 34 | |
... | ... | @@ -43,16 +46,16 @@ function xmlToObjectArray (data) |
43 | 46 | switch (child.nodeName) |
44 | 47 | { |
45 | 48 | case 'variable': |
46 | - ret[name] = xmlToVar (child); break; | |
49 | + ret[name] = nBildertool.xmlToVar (child); break; | |
47 | 50 | case 'array': |
48 | - ret[name] = xmlToArray (child); break; | |
51 | + ret[name] = nBildertool.xmlToArray (child); break; | |
49 | 52 | case 'class': |
50 | 53 | var cName = child.getAttribute ('class'); |
51 | 54 | |
52 | 55 | if (typeof (eval (cName)) === 'function') |
53 | 56 | ret[name] = eval ("new " + cName + "(child)"); |
54 | 57 | else |
55 | - ret[name] = xmlToObjectArray (child); | |
58 | + ret[name] = nBildertool.xmlToObjectArray (child); | |
56 | 59 | } |
57 | 60 | } |
58 | 61 | } |
... | ... | @@ -60,7 +63,7 @@ function xmlToObjectArray (data) |
60 | 63 | return ret; |
61 | 64 | } |
62 | 65 | |
63 | -function xmlToArray (data) | |
66 | +nBildertool.xmlToArray = function (data) | |
64 | 67 | { |
65 | 68 | var ret = new Array (); |
66 | 69 | |
... | ... | @@ -84,16 +87,16 @@ function xmlToArray (data) |
84 | 87 | switch (_child.nodeName) |
85 | 88 | { |
86 | 89 | case 'variable': |
87 | - ret[key] = xmlToVar (_child); break; | |
90 | + ret[key] = nBildertool.xmlToVar (_child); break; | |
88 | 91 | case 'array': |
89 | - ret[key] = xmlToArray (_child); break; | |
92 | + ret[key] = nBildertool.xmlToArray (_child); break; | |
90 | 93 | case 'class': |
91 | 94 | var cName = child.getAttribute ('class'); |
92 | 95 | |
93 | 96 | if (typeof (eval (cName)) === 'function') |
94 | 97 | ret[key] = eval ("new " + cName + "(child)"); |
95 | 98 | else |
96 | - ret[key] = xmlToObjectArray (child); | |
99 | + ret[key] = nBildertool.xmlToObjectArray (child); | |
97 | 100 | } |
98 | 101 | } |
99 | 102 | } |
... | ... | @@ -103,7 +106,7 @@ function xmlToArray (data) |
103 | 106 | return ret; |
104 | 107 | } |
105 | 108 | |
106 | -function c_xmlify (data) | |
109 | +nBildertool.c_xmlify = function (data) | |
107 | 110 | { |
108 | 111 | if (! data.hasChildNodes ()) |
109 | 112 | return; |
... | ... | @@ -121,23 +124,23 @@ function c_xmlify (data) |
121 | 124 | switch (child.nodeName) |
122 | 125 | { |
123 | 126 | case 'variable': |
124 | - this[name] = xmlToVar (child); break; | |
127 | + this[name] = nBildertool.xmlToVar (child); break; | |
125 | 128 | case 'array': |
126 | - this[name] = xmlToArray (child); break; | |
129 | + this[name] = nBildertool.xmlToArray (child); break; | |
127 | 130 | case 'class': |
128 | 131 | var cName = child.getAttribute ('class'); |
129 | 132 | |
130 | 133 | if (typeof (eval (cName)) === 'function') |
131 | 134 | this[name] = eval ("new " + cName + "(child)"); |
132 | 135 | else |
133 | - this[name] = xmlToObjectArray (child); | |
136 | + this[name] = nBildertool.xmlToObjectArray (child); | |
134 | 137 | } |
135 | 138 | } |
136 | 139 | } |
137 | 140 | } |
138 | 141 | } |
139 | 142 | |
140 | -function deXmlify (data) | |
143 | +nBildertool.deXmlify = function (data) | |
141 | 144 | { |
142 | 145 | var ret = null; |
143 | 146 | var child = data.firstChild; |
... | ... | @@ -145,16 +148,16 @@ function deXmlify (data) |
145 | 148 | switch (child.nodeName) |
146 | 149 | { |
147 | 150 | case 'variable': |
148 | - ret = xmlToVar (child); break; | |
151 | + ret = nBildertool.xmlToVar (child); break; | |
149 | 152 | case 'array': |
150 | - ret = xmlToArray (child); break; | |
153 | + ret = nBildertool.xmlToArray (child); break; | |
151 | 154 | case 'class': |
152 | 155 | var cName = child.getAttribute ('class'); |
153 | 156 | |
154 | 157 | if (typeof (eval (cName)) === 'function') |
155 | 158 | ret = eval ("new " + cName + "(child)"); |
156 | 159 | else |
157 | - ret = xmlToObjectArray (child); | |
160 | + ret = nBildertool.xmlToObjectArray (child); | |
158 | 161 | } |
159 | 162 | |
160 | 163 | return ret; | ... | ... |
... | ... | @@ -7,12 +7,11 @@ |
7 | 7 | |
8 | 8 | <script src="js/helper.js" type="text/javascript"></script> |
9 | 9 | <script src="js/xmlify.js" type="text/javascript"></script> |
10 | + <script src="js/service.js" type="text/javascript"></script> | |
11 | + <script src="js/callbacks.js" type="text/javascript"></script> | |
10 | 12 | |
11 | 13 | <script type="text/javascript"> |
12 | 14 | //<![CDATA[ |
13 | - var req = null; | |
14 | - var data; | |
15 | - | |
16 | 15 | function dummy (data) |
17 | 16 | { |
18 | 17 | this.var1 = null; |
... | ... | @@ -22,69 +21,7 @@ |
22 | 21 | |
23 | 22 | dummy.baseConstructor.call (this, data); |
24 | 23 | } |
25 | - extend (dummy, c_xmlify); | |
26 | - | |
27 | - function getData () | |
28 | - { | |
29 | - switch (req.readyState) | |
30 | - { | |
31 | - case 4: | |
32 | - if (req.status != 200) | |
33 | - alert ("Fehler:" + req.status); | |
34 | - else | |
35 | - data = deXmlify (req.responseXML); | |
36 | - console.dir (data); | |
37 | - return true; | |
38 | - | |
39 | - default: | |
40 | - return false; | |
41 | - } | |
42 | - } | |
43 | - | |
44 | - function updData () | |
45 | - { | |
46 | - // erstellen des requests | |
47 | - | |
48 | - try | |
49 | - { | |
50 | - req = new XMLHttpRequest(); | |
51 | - } | |
52 | - catch (e) | |
53 | - { | |
54 | - try | |
55 | - { | |
56 | - req = new ActiveXObject("Msxml2.XMLHTTP"); | |
57 | - } | |
58 | - catch (e) | |
59 | - { | |
60 | - try | |
61 | - { | |
62 | - req = new ActiveXObject("Microsoft.XMLHTTP"); | |
63 | - } | |
64 | - catch (failed) | |
65 | - { | |
66 | - req = null; | |
67 | - } | |
68 | - } | |
69 | - } | |
70 | - | |
71 | - if (req == null) | |
72 | - alert("Error creating request object!"); | |
73 | - | |
74 | - // anfrage erstellen (GET, url ist localhost, | |
75 | - // request ist asynchron | |
76 | - var url = 'http://localhost/~georg/bilder/ajax+json/ajax.php'; | |
77 | - | |
78 | - req.open("GET", url, true); | |
79 | - | |
80 | - // Beim abschliessen des request wird diese Funktion ausgeführt | |
81 | - req.onreadystatechange = getData; | |
82 | - | |
83 | - req.setRequestHeader("Content-Type", | |
84 | - "application/x-www-form-urlencoded"); | |
85 | - | |
86 | - req.send(null); | |
87 | - } | |
24 | + nBildertool.extend (dummy, nBildertool.c_xmlify); | |
88 | 25 | //]]> |
89 | 26 | </script> |
90 | 27 | </head> |
... | ... | @@ -92,7 +29,8 @@ |
92 | 29 | <body> |
93 | 30 | <script language="javascript"> |
94 | 31 | //<![CDATA[ |
95 | - updData (); | |
32 | + var serviceUrl = 'http://localhost/~georg/bilder/ajax+json/ajax.php' | |
33 | + nBildertool.service (serviceUrl); | |
96 | 34 | console.log ('%s', 'jokus'); |
97 | 35 | //]]> |
98 | 36 | </script> | ... | ... |
Please
register
or
login
to post a comment