Anzeige

JavaScript-Funktion merhmals aufrufen

JavaScript-Funktion merhmals aufrufen | PSD-Tutorials.de

Erstellt von Ganstany, 21.02.2009.

  1. Ganstany

    Ganstany Noch nicht viel geschrieben

    Dabei seit:
    29.09.2008
    Beiträge:
    36
    Geschlecht:
    männlich
    Software:
    Photoshop, After Effects, Vue (& Cinema 4D)
    Kameratyp:
    Canon EOS 500d
    JavaScript-Funktion merhmals aufrufen
    Ich habe mir ein kleines JavaScript (mehr AJAX-Skritp) geschrieben, welches Infos aus einer PHP seiten von mir holt. So allgemein geht das bei mir so:
    /side/index.php?'+gettag+'='+data

    Das funktioniert einwandfrei - sofern ich es nur einmal aufrufe. Jedoch will ich eigentlich mehrere Aufrufe machen, da dieses Skript je nach data und gettag verschiedene Ausgaben gibt.

    Weiss jemand wie ich das mache? Wollte das Skript jetzt nicht unnötig posten, da es recht lange ist (hauptsächlich überprüft es aber nur, ob eine XMLHTTP-Instanz generiert werden kann. Der eigentliche Teil ist recht kurz.)

    Hoffe jemadn weiss Rat! :uhm:
     
    #1      
  2. CIX88

    CIX88 Aktives Mitglied

    Dabei seit:
    06.04.2006
    Beiträge:
    814
    Geschlecht:
    männlich
    Ort:
    GR
    JavaScript-Funktion merhmals aufrufen
    AW: JavaScript-Funktion merhmals aufrufen

    Ohne dein Zeug zu kennen, wirst du sicher eine Funktion benutzen. Die kann man locker mehrmals aufrufen. Naja, was soll man jetzt dazu sagen?
     
    #2      
  3. saila

    saila Moderatorle

    Dabei seit:
    21.06.2006
    Beiträge:
    2.239
    Geschlecht:
    männlich
    Ort:
    50°48'23.69" N 7°14'22.19" O
    Software:
    Eclipse, PHP5 OO, MySQL5, CSS(auch Barrierefrei), JS, Symfony
    JavaScript-Funktion merhmals aufrufen
    AW: JavaScript-Funktion merhmals aufrufen

    Raten wir mal ohne das Script zu sehen - mit einer eventuellen Hullahupschleife?
     
    #3      
  4. Ganstany

    Ganstany Noch nicht viel geschrieben

    Dabei seit:
    29.09.2008
    Beiträge:
    36
    Geschlecht:
    männlich
    Software:
    Photoshop, After Effects, Vue (& Cinema 4D)
    Kameratyp:
    Canon EOS 500d
    JavaScript-Funktion merhmals aufrufen
    AW: JavaScript-Funktion merhmals aufrufen

    Ok :)

    Ich poste es vielleicht doch einmal.

    var http_request = false;

    PHP:
    1. function getInfo(getid, getvar, what) {
    2.        
    3.         if(what == 'IP'){
    4.         data = '<?=$_SERVER['REMOTE_ADDR']?>'
    5.         }else if(what == 'UA'){
    6.         data = '<?=$_SERVER['HTTP_USER_AGENT']?>';
    7.         }
    8.        
    9.         http_request = false;
    10.  
    11.         if (window.XMLHttpRequest) {
    12.             http_request = new XMLHttpRequest();
    13.             if (http_request.overrideMimeType) {
    14.                 http_request.overrideMimeType('text/xml');
    15.             }
    16.         } else if (window.ActiveXObject) {
    17.             try {
    18.                 http_request = new ActiveXObject("Msxml2.XMLHTTP");
    19.             } catch (e) {
    20.                 try {
    21.                     http_request = new ActiveXObject("Microsoft.XMLHTTP");
    22.                 } catch (e) {}
    23.             }
    24.         }
    25.  
    26.         if (!http_request) {
    27.             alert('Skript-Error! XMLHTTP-Instanz-Generierung scheint unmoeglich.');
    28.             return false;
    29.         }
    30.         http_request.onreadystatechange = function() {
    31.             changeInhalt(getid);
    32.         };
    33.         http_request.open('GET', 'http://mydomain.de/ip.php?'+getvar+'='+data, true);
    34.         http_request.send(data);
    35.     }
    36.  
    37.     function changeInhalt(getid) {
    38.  
    39.         if (http_request.readyState == 4) {
    40.             if (http_request.status == 200) {
    41.                
    42.                 element = document.getElementById(getid);
    43.                 element.innerHTML = http_request.responseText;
    44.                
    45.             } else {
    46.                 alert('Es ist ein Problem aufgetreten.');
    47.             }
    48.         }
    49.  
    50.     }
     
    #4      
  5. Suchthaufen

    Suchthaufen Guest

    JavaScript-Funktion merhmals aufrufen
    AW: JavaScript-Funktion merhmals aufrufen

    Wo genau liegt eigentlich das Problem bei deinem Code? Eigentlich sieht der Code richtig aus. Werden in deinem Fall beim Laden der Seite gleich mehrere Anfragen an den Server geschickt ? Was du noch Probieren könntest ist beim Request die ID gleich mit zu senden und diese vom Server im Response wieder zurück senden zu lassen. Ansonsten, probier mal im Firefox die Webdeveloper Toolbar. Die hat auch eine Javascript Error-Logger dabei, vllt tritt ja doch irgentwo ein Script-Fehler auf.

    In diesem Sinne, viel Glück, vllt hilft dir ja irgentwas von dem :)
     
    #5      
  6. Ganstany

    Ganstany Noch nicht viel geschrieben

    Dabei seit:
    29.09.2008
    Beiträge:
    36
    Geschlecht:
    männlich
    Software:
    Photoshop, After Effects, Vue (& Cinema 4D)
    Kameratyp:
    Canon EOS 500d
    JavaScript-Funktion merhmals aufrufen
    AW: JavaScript-Funktion merhmals aufrufen

    In meiner ersten Nachricht steht doch, was genau "nicht" funktioniert.

    -> Das Skript selbst funktioniert einwandfrei, sofern ich die Funktion nur ein einziges Mal aufrufe. Allerdings will ich die Funktion merhmals aufrufen, da - je nach Sendetext - ein anderes Ergebnis kommt.

    Was muss ich umstellen, damit das klappt?
     
    #6      
  7. saila

    saila Moderatorle

    Dabei seit:
    21.06.2006
    Beiträge:
    2.239
    Geschlecht:
    männlich
    Ort:
    50°48'23.69" N 7°14'22.19" O
    Software:
    Eclipse, PHP5 OO, MySQL5, CSS(auch Barrierefrei), JS, Symfony
    JavaScript-Funktion merhmals aufrufen
    AW: JavaScript-Funktion merhmals aufrufen

    Naja, wo oder wie sollen wir nun erraten an welcher Stelle das Script einen Fehler verursacht?

    Du hast ja bei einem Fehler eine error-Meldung. Die Frage ist nun, welche Meldung für den Fehler erhälst du?

    Wenn kein Fehler ausgegeben wird, kannst du mal prüfen per alert("+ getid +"); in der ersten und/oder zweiten Funktion einzubinden. Dann weist du ob getid überhaupt einen integer oder string liefert. Darüber hinaus kannst du per Firefox über Firebug auch prüfen wo das Problem liegt. Bzw. selbst dort kannst du - sofern getid als var deklariert wurde sehen, ob überhaupt ein Wert getid zugewiesen wurde.

    Ich vermute das getid keinen Wert liefert bzw. lediglich beim Aufruf der ersten Seite.
     
    #7      
  8. Ganstany

    Ganstany Noch nicht viel geschrieben

    Dabei seit:
    29.09.2008
    Beiträge:
    36
    Geschlecht:
    männlich
    Software:
    Photoshop, After Effects, Vue (& Cinema 4D)
    Kameratyp:
    Canon EOS 500d
    JavaScript-Funktion merhmals aufrufen
    AW: JavaScript-Funktion merhmals aufrufen

    Es zeigt keinen Fehler an.

    Wenn ich zwei Aufrufe mache, überschreibt der zweite den ersten, und führt nur den zweiten aus. Ich will aber, dass er beide ausführt.
     
    #8      
  9. saila

    saila Moderatorle

    Dabei seit:
    21.06.2006
    Beiträge:
    2.239
    Geschlecht:
    männlich
    Ort:
    50°48'23.69" N 7°14'22.19" O
    Software:
    Eclipse, PHP5 OO, MySQL5, CSS(auch Barrierefrei), JS, Symfony
    JavaScript-Funktion merhmals aufrufen
    AW: JavaScript-Funktion merhmals aufrufen

    Dann wird die zweite Funktion nicht mehr aufgerufen innerhalb des html-body oder? Wo liegt eigentl. das Problem den html-code noch mitzuteilen. Du fährst ja auch nicht mit dem Auto in die Garage und gehst zur Werkstatt und fragst wo ein Problem mit dem Antrieb ist, weil das Auto ruckelt.
     
    #9      
  10. Ganstany

    Ganstany Noch nicht viel geschrieben

    Dabei seit:
    29.09.2008
    Beiträge:
    36
    Geschlecht:
    männlich
    Software:
    Photoshop, After Effects, Vue (& Cinema 4D)
    Kameratyp:
    Canon EOS 500d
    JavaScript-Funktion merhmals aufrufen
    AW: JavaScript-Funktion merhmals aufrufen

    <script type="text/javascript">
    getInfo('showIPland', 'ip', 'IP');
    getInfo('browser', 'browser', 'UA');
    </script>
    <span id="showIPland">laden...</span>
    <span id="browser">laden...</span>
     
    #10      
  11. Ganstany

    Ganstany Noch nicht viel geschrieben

    Dabei seit:
    29.09.2008
    Beiträge:
    36
    Geschlecht:
    männlich
    Software:
    Photoshop, After Effects, Vue (& Cinema 4D)
    Kameratyp:
    Canon EOS 500d
    JavaScript-Funktion merhmals aufrufen
    AW: JavaScript-Funktion merhmals aufrufen

    Naja, ich lass es mal. Ich mache einfach mehrere Request-Abfragen, dann wird es auch gehen.^^

    Thx an alle.
     
    #11      
x
×
×