Ik ben momenteel aan het experimenteren met AJAX en wil gegevens door middel van AJAX opslaan. Nu wil dit niet lukken, omdat ik constant exceptions krijg en er eigenlijk niets gebeurt. Ik ben al de hele dag aan het zoeken naar het probleem, maar kan niets vinden. Hopelijk hebben jullie tips.
Ik gebruik overigens prototype om het me wat makkelijker te maken.
Het huidige resultaat is dus altijd Test (Exception)
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link href="../Stylesheet/verticaal.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="../Javascript/prototype/prototype.js"></script> <script type="text/javascript" src="test.js"></script> <title>Test file</title> </head> <body bgcolor="#999999"> <div class="mediaBar" id="mediaBar"></div> <div class="horizon"> <div class="vertical"> <div class="systemWorking" id="systemWorking">Loading...</div> <div class="content" id="content"></div> <div class="content_start" id="content_start"> <form action="index.php?link=1.5.3" method="post" name="check" id="check"> <table border="0" class="users"> <tr><td width="200" colspan="2">Dit is een test</td></tr> <tr><td width="200" colspan="2"> </td></tr> <tr><td width="200">Naam: </td><td width="300"><input type="text" name="newNaam" id="newNaam" /></td></tr> <tr><td width="200">Test: </td><td width="300"><input type="text" name="newTest" id="newTest" /></td></tr> <tr><td> </td><td><a href="#" onclick="test()">testen</a></td></tr> </table> </form> <p /> </div> </div> </div> </body> </html> |
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
| function test() { new Ajax.Request('test2.php',{ method: 'POST', parameters: { naam : $('newNaam').value, test : $('newTest').value }, onCreate: function(){ new Effect.Opacity('content', { from: 1.0, to: 0.3, duration: 0.7 }); new Effect.toggle('systemWorking', 'appear'); $('mediaBar').innerHTML = 'Test (Create)'; }, onComplete: function() { if(Ajax.activeRequestCount == 0){ new Effect.Opacity('content', { from: 0.3, to: 1, duration: 0.7 }); new Effect.toggle('systemWorking', 'appear'); $('mediaBar').innerHTML = 'Test (Complete)'; } }, onSuccess: function(transport) { var response = transport.responseText || "no response text"; $('mediaBar').innerHTML = 'Test (Success)' + response; }, onFailure: function(){ $('mediaBar').innerHTML = 'Test (Failure)'; }, onException: function() { $('mediaBar').innerHTML = 'Test (Exception)'; } } ); } |
Ik gebruik overigens prototype om het me wat makkelijker te maken.
Het huidige resultaat is dus altijd Test (Exception)