tutorials.de Buch-Aktion 02/2012
ERLEDIGT
NEIN
ANTWORTEN
12
ZUGRIFFE
619
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    TobiNeu Tutorials.de Gastzugang
    So hab ich es bisher gelöst. Funktioniert leider nur im Firefox und nicht im Internet Explorer.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    if (window.XMLHttpRequest) {            
      httpRequestObject = new XMLHttpRequest(); //Not IE
    } else if(window.ActiveXObject) {
      httpRequestObject = new ActiveXObject("Microsoft.XMLHTTP"); //IE          
     }          
     
    httpRequestObject.open('GET','/aaa/bbb?ACTION=default&xxx.key='+key,true);              
    httpRequestObject.send(null);   
    httpRequestObject.onreadystatechange = function() {
      if( httpRequestObject.readyState == 4 ){                                      
        parent.document.getElementById('completeContent').innerHTML = httpRequestObject.responseText;
      }
    }

    Mein erster Versuch war:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    var completeContent = parent.document.getElementById('completeContent');                
    new Ajax.Updater(completeContent, '/aaa/bbb', {                 
      method: 'GET',   
      parameters: {
              'ACTION': 'default', 
              'xxx.key': key 
      },
      asynchronous: true
    });


    Wäre klasse wenn mir jemand sagen könnte wo mein Fehler liegt.

    Über Buchtips zu JavaScript Ajax würd ich mich auch freuen.
     

  2. #2
    TobiNeu Tutorials.de Gastzugang
    Hm ...

    im Endeffekt bvrauch ich glaub nur ne alternative zu innerHTML:

    also anstatt:
    Code :
    1
    
    parent.document.getElementById('completeContent').innerHTML = httpRequestObject.responseText;

    irgendwas in der Art:

    Code :
    1
    
    parent.document.getElementById('completeContent').appendChild(httpRequestObject.responseText);

    Leider komm ich noch nicht auf den richtigen Befehl.
    Über Hilfe bin ich dankbar

    Grüße
     

  3. #3
    Avatar von bn
    bn bn ist offline Mitglied Brokat
    Registriert seit
    Oct 2002
    Ort
    Berlin
    Beiträge
    395
    Warum gehts im IE nicht? Fehlermeldung? Was passiert (nicht)?
     

  4. #4
    TobiNeu Tutorials.de Gastzugang
    Er läd den responseText nicht in den div Bereich:

    Fehler:

    Meldung: Unbekannter Laufzeitfehler
    Zeile: 635
    Zeichen: 5
    Code: 0
    URI: http://localhost/aaa/bbbt?ACTION=def...E&REQUESTID=75

    das ist genau die Zeile mit dem innerHTML
     

  5. #5
    Avatar von bn
    bn bn ist offline Mitglied Brokat
    Registriert seit
    Oct 2002
    Ort
    Berlin
    Beiträge
    395
    Versuche mal bitte den Text mittels alert() auszugeben, anstelle ihn in das DIV zu packen. Es wäre gut zu wissen, ob der Text überhaupt ankommt.
     

  6. #6
    TobiNeu Tutorials.de Gastzugang
    Ja der Code kommt an.
    Habs mit einem alert ausgegeben.
     

  7. #7
    TobiNeu Tutorials.de Gastzugang
    Ich versuch mein Problem nochmals anschaulich darzustellen:

    Ich habe eine index.html mit folgendem Aufbau:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
        ...
        <body>
        <div id="leftArea">
            <iframe id="tree" src="tree.html"></iframe>
        </div>
        <div id="mainContent">
            ... blalalal ...
        </div>
        ...
        </body>
        ...

    Nun habe ich eine tree.html die aus lauter links besteht, welche feste id's besitzen.
    Nun soll bei klick auf den entsprechenden link eine javascript Funktion aufgerufen werden die den mainContent mit den entsprechenden Daten befüllt.
    Die Funktion sieht wie folgt aus:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    function refreshMainContent(id) {                                           
        new Ajax.Updater('mainContent', 'newContent', {                 
            method: 'post', 
            parameters: {       
                'ACTION': 'default', 
                'contentID': id 
            },
            asynchronous: true
        });
    }

    Mein Problem ist er läd es einfach nicht in den mainContent und ich wei nicht wieso.
    Ich habs auch schon mit foglendem versucht:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    function refreshMainContent(id) {                                           
        new Ajax.Updater([b]parent.mainContent[/b], 'newContent', {                 
            method: 'post', 
            parameters: {       
                'ACTION': 'default', 
                'contentID': id 
            },
            asynchronous: true
        });
    }

    Ging aber leider auch nicht.

    Grüße
     

  8. #8
    Avatar von bn
    bn bn ist offline Mitglied Brokat
    Registriert seit
    Oct 2002
    Ort
    Berlin
    Beiträge
    395
    Was kommt als Antwort an/ was würde beispielsweise in maincontent eingefügt werden sollen?
     

  9. #9
    TobiNeu Tutorials.de Gastzugang
    eine komplette HTML-Seite würd ich dort gerne anzeigen lassen.
    Ankommen tut garnichts.
     

  10. #10
    Avatar von bn
    bn bn ist offline Mitglied Brokat
    Registriert seit
    Oct 2002
    Ort
    Berlin
    Beiträge
    395
    also inkl. <html><head><body>?

    Falls ja, versuche diese Dinge weg zu lassen.
     

  11. #11
    TobiNeu Tutorials.de Gastzugang
    Danke

    das wollte ich gerade auch schreiben
    habs nämlich grad mal mit ner Datei getestet in der nur <div>Test></div> drin steht und da hat ers gepackt.
    Wie ist das mit javascript Code?
    Also die Seiten die geladen werden haben selber auch wieder JavaScript Funktionen.

    Gruß
     

  12. #12
    TobiNeu Tutorials.de Gastzugang
    hm ok..
    hab grad noch ein wenig rumgetestet.
    Javascript muss ich dann wohl komplett in die index.html übernehmen

    Nervt mich nun ein wenig das ich das alles erst jetzt weiß
    Muss nun einiges umbauen.
    Aber shit happens

    Nächstes mal weiß ichs
     

  13. #13
    Quaese Quaese ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Feb 2004
    Beiträge
    3.440
    Hi,

    die Option evalScripts erlaubt es, JS auszuführen.

    Beispiel:
    Code :
    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
    
    <html>
    <head>
    <title>www.tutorials.de</title>
    <meta name="author" content="Quaese">
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
    <script src="prototype-1.6.1.js" type="text/javascript"></script>
    <script type="text/javascript">
      <!--
    function myRequest(id){
      new Ajax.Updater('testID', 'request.php', {
        method: 'post',
        parameters: {
          'ACTION': 'default',
          'contentID': id
        },
        evalScripts: true,
        asynchronous: true
      });
    }
     //-->
    </script>
    </head>
    <body>
    <button onclick="myRequest('testID');">myRequest()</button>
    <button onclick="testFn();">testFn()</button>
    <div id="testID"></div>
    </body>
    </html>

    Und die request.php:
    Code :
    1
    2
    3
    
    <?php
      echo("<b>Fetter Text</b><script>testFn = function(){ alert('Hallo Welt');}</script>\n");
    ?>

    Über die Schaltfläche myRequest wird zunächst der Request ausgeführt und die erforderliche Funktion für den zweiten Button (testFn) ins Dokument übernommen.

    Ciao
    Quaese
     
    Vielleicht muss man manchmal vom Weg abkommen, um nicht auf der Strecke zu bleiben!
    ----
    Der "Fortsetzungsroman" auf www.leuteforum.de

    New kind to realize large scalable projects with jQuery: jQuery SDK

Ähnliche Themen

  1. innerHTML mit Internet Explorer
    Von tomhuber im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 06.10.05, 15:26
  2. Pop Up Problem mit dem Internet Explorer
    Von schmitzowitsch im Forum Flash Plattform
    Antworten: 5
    Letzter Beitrag: 11.08.05, 20:55
  3. Problem mit Internet Explorer
    Von Cemil im Forum Microsoft Windows
    Antworten: 7
    Letzter Beitrag: 08.09.04, 17:54
  4. Internet Explorer Problem
    Von Trautmann im Forum Microsoft Windows
    Antworten: 0
    Letzter Beitrag: 15.12.03, 07:19
  5. Internet Explorer Problem
    Von Onz im Forum Microsoft Windows
    Antworten: 14
    Letzter Beitrag: 11.07.03, 16:10