mootools request geht nicht

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • mootools request geht nicht

    Hallo liebes Team,

    irgendwie verstehe ich nicht warum ich die Antwort aus dem Request nicht weiter verarbeiten kann z.B. wie hier:

    Quellcode

    1. $('ajax-replace').addEvent('click', function(event) {
    2. //prevent the page from changing
    3. event.stop();
    4. //make the ajax call, replace text
    5. var req = new Request.HTML({
    6. method: 'get',
    7. url: $('ajax-replace').get('href'),
    8. data: { 'do' : '1' },
    9. onRequest: function() { alert('Request made. Please wait...'); },
    10. update: $('message-here'),
    11. onSuccess: function(responseText) {
    12. if(responseText == 1) {
    13. $('message-here').setStyle('background','#00FF00');
    14. } else {
    15. alert('Request fail...');
    16. }
    17. }
    18. }).send();
    19. });
    Alles anzeigen

    Es kommt immer wieder nur das alert('Request fail...');, obwohl ganz sicher ist das die Antwort 1 ist. Die wird im ensprchenden DIV id ausgegeben.

    Wer weiss eine Lösung, was verstehe ich daran nicht, bin schon seit Stunden in der mootools Doku unterwegs.

    ...Und, was bedeutet data: { 'do' : '1' }? Ich weiss Ihr seid hier kein support für mootools, aber ich weiss, dass hier sehr erfahrene User registriert sind, die warscheinlich mit einem halben Auge sehen warum das nicht funktionieren kann.

    Liebe Grüße

    kingluui
    Man muss nicht wissen wie es geht, man muss nur wissen wo es steht! Natürlich bei easy-coding 8o de
  • Boah superschnelle Antwort,

    danke erstmal:

    also ich nutze HttpFox und den habe ich leider vorher nicht bemüht, sonst hätte ich gesehen, dass data: { 'do' : '1' } einfach an den request drangehangen wird.

    Ok, aber HttpFox zeigt im Content an, dass 1 geliefert wird.

    Wie kann ich auf 1 prüfen?
    Man muss nicht wissen wie es geht, man muss nur wissen wo es steht! Natürlich bei easy-coding 8o de
  • Ich hatte vorhin vergessen den Rest mal mit zu posten:

    Quellcode

    1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    2. <html xmlns="http://www.w3.org/1999/xhtml">
    3. <head>
    4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    5. <title>tabs</title>
    6. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/mootools/1.2.3/mootools.js"></script>
    7. <script type="text/javascript">
    8. //on dom ready...
    9. window.addEvent('domready', function() {
    10. /* ajax alert */
    11. $('ajax-alert').addEvent('click', function(event) {
    12. //prevent the page from changing
    13. event.stop();
    14. //make the ajax call
    15. var req = new Request({
    16. method: 'get',
    17. url: $('ajax-alert').get('href'),
    18. data: { 'do' : '1' },
    19. onRequest: function() { alert('Request made. Please wait...'); },
    20. onComplete: function(response) { alert('Response: ' + response); }
    21. }).send();
    22. });
    23. /* ajax replace element text */
    24. $('ajax-replace').addEvent('click', function(event) {
    25. //prevent the page from changing
    26. event.stop();
    27. //make the ajax call, replace text
    28. var req = new Request.HTML({
    29. method: 'get',
    30. url: $('ajax-replace').get('href'),
    31. onRequest: function() { alert('Request made. Please wait...'); },
    32. update: $('message-here'),
    33. onSuccess: function(response) {
    34. if(response == '1') {
    35. $('message-here').setStyle('background','#00FF00');
    36. } else {
    37. alert('Request fail...');
    38. }
    39. }
    40. }).send();
    41. });
    42. });
    43. </script>
    44. </head>
    45. <body>
    46. <p>
    47. <a href="hello.php?test=tolles&id=2" id="ajax-alert">Click here</a> to receive a special message from a PHP script via a javascript alert.
    48. </p>
    49. <p>
    50. <a href="hello.php?test=tolles&id=2" id="ajax-replace">Click here</a> to populate the element below with the special message.
    51. </p>
    52. <div id="message-here">
    53. Special message will appear here.
    54. </div>
    55. </body>
    56. </html>
    Alles anzeigen


    Und hier die PHP Datei

    Quellcode

    1. <?php
    2. if($_GET["test"] && $_GET["id"]) {
    3. echo 1;
    4. } else {
    5. echo 2;
    6. }
    7. ?>


    Also das ist sehr seltsam, mit jquery funktioniert sowas doch auch und ohne Framework kriege ich das auch hin, aber ein bestimmtes Projekt verlangt nunmal mootools, und zwischen jquery und mootools sind die Unterschiede wirklich sehr gering, ich habe bestimmt irgendwas übersehen.
    Man muss nicht wissen wie es geht, man muss nur wissen wo es steht! Natürlich bei easy-coding 8o de
  • Also in der Dokumentation ist die Funktionssignatur bisschen anders (mootools.net/docs/core/Request/Request.HTML):

    Anhand der Dokumentation würde ich sowas probieren:

    Quellcode

    1. onSuccess: function(responseTree, responseElements, responseHTML, responseJavaScript) {
    2. if(responseHTML== '1') {
    3. $('message-here').setStyle('background','#00FF00');
    4. } else {
    5. alert('Request fail...');
    6. }
    7. }