Ankündigung

Einklappen
Keine Ankündigung bisher.

Ajax und Ergebnis weiter-Verarbeiten in Javascript

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Ajax und Ergebnis weiter-Verarbeiten in Javascript

    Hallo!
    bei mir schreibt Ajax mir das Ergebnis eine ID einer Tabelle auf die HTML 5 Seite:
    HTML-Code:
    document.querySelector('MyEvent').innerHTML = xmlhttp.responseText;
    Im Augenblick als Anker
    HTML-Code:
    <a href="test.php?id=$id>Klicke hier um weiterzukommen<a>
    Frage: Wie kann ich die Seite test.php?id$id NACH dem AJAX-Teil im JavaScript aufrufen?

    Meine bisherige Lösung führt zu keinem Erfolg:
    Im aufgerufenen PHP Code schreibe ich die ID in ein Tag:
    PHP-Code:
    <LastAddedId>last $id last</LastAddedId
    Und nach dem AJAX Aufruf versuche ich, dieses Tag zu lesen:
    PHP-Code:
    alert ("Nach Ajax " );
    var 
    LastAddedId document.querySelector('LastAddedId').innerHTML
    alert 
    (LastAddedId); 
    Erste werden dann die beiden alerts ausgeführt, dann erfolgt die Anzeige => damit ist innerHTML aber leer.

    Vielen Dank für jede Hilfe
    Bruno


  • #2
    Eine JavaScript-Frage im PHP-Fortgeschrittenen-Forum?

    Willst du automatisch weiterleiten oder erst wenn der User was klickt?

    Kommentar


    • #3
      Zitat von jonas3344 Beitrag anzeigen
      Eine JavaScript-Frage im PHP-Fortgeschrittenen-Forum?
      Kann man machen... is' halt nur falsch...

      [MOD: verschoben]

      Competence-Center -> Enjoy the Informatrix
      PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

      Kommentar


      • #4
        Zitat von jonas3344 Beitrag anzeigen
        Eine JavaScript-Frage im PHP-Fortgeschrittenen-Forum?

        Willst du automatisch weiterleiten oder erst wenn der User was klickt?
        Hallo!

        ich will automatisch weiterleiten, dazu brauche ich die ID der o.g. Ajax-Abfrage. Also im o.g. Anker soll per JavaScript die Weiterleitung automatisch erfolgen.

        Nach dem Ajax-Aufruf habe ich unter JavaScript leider die $ID (noch) nicht, sonst wäre das eine Lösung
        PHP-Code:
        Mit php
        header
        ("location:seite.html?id=$id"); 

        Kommentar


        • #5
          Die infos sind halt etwas dürftig und wirr.

          Automatisch weiterleiten kannst du mit:

          Code:
          window.location.href = url;
          https://www.w3schools.com/howto/howt...ct_webpage.asp

          Also wenn du von AJAX die Ide zurückbekommst:

          Code:
          window.location.href = 'test.php?id=' + xmlhttp.responseText;
          Geht das in die richtige Richtung?

          Kommentar


          • #6
            ja, das geht in die richtige Richtung.
            Hier mal ein paar Auszüge

            in der index.php:
            PHP-Code:
                    if (window.XMLHttpRequest)
                        {
            // code for IE7+, Firefox, Chrome, Opera, Safari
                                
            xmlhttp=new XMLHttpRequest();
                        }
                        else
                        {
            // code for IE6, IE5
                            
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
                        }
                        
            xmlhttp.onreadystatechange=function()
                            {
                                
            //alert("Possible error: " + xmlhttp.readyState + " " + xmlhttp.status + " " );
                                
            if (xmlhttp.readyState==&& xmlhttp.status==200)
                                {
                                    
            document.querySelector('MyEvent').innerHTML xmlhttp.responseText;
                                    
            //alert("nach XML Request" + xmlhttp.responseText );

                                
            }    
                            }            
                        var 
            send_String="http://www.meine-it-seminare.de/Ajax_Kalender/insertEvent.php?datum=" datum;
                        
            xmlhttp.open("GET",send_String,true);
                        
            xmlhttp.send();

            // Hier möchte ich auf das Tag  von insertEvent.php zugreifen, um zu einer anderen URL zuzugreifen
            alert("nach Ajax");  // <= 1
            var myIddocument.querySelector('LastAddedId').innerHTML;
            alert(myID);            // <= 2
            // Siehe Erläuterung unten. 
            inserEvent.php:
            PHP-Code:
            ...
            <
            h5><LastAddedId>$id</LastAddedId></h5
            Erläuterung:
            1. in der index.php rufe ich via Ajax die Datei inserEvent.php auf.
            2. Nach dem Ajax Code kommen 3 Code Zeilen
            PHP-Code:
            alert("nach Ajax");  // <= 1
            var myIddocument.querySelector('LastAddedId').innerHTML;
            alert(myID);            // <= 2 
            Zeitlicher Ablauf:
            1. erste Alert erscheint
            2. das zweite alert erscheint mit der Fehlermeldung: innerHTML sei nicht definiert
            3. Dann wird angezeigt:
              PHP-Code:
              <h5><LastAddedId>$id</LastAddedId></h5
              mit einer Zahl der ID.
            ich kann bis jetzt in der index.php die ID nicht greifen, sie kommt scheinbar später!

            Klar ausgedrückt?

            Kommentar


            • #7
              ,.-

              Kommentar


              • #8
                Zitat von dh1sbg Beitrag anzeigen
                ,.-
                Dir fehlen wohl die Basics in JS:
                https://developer.mozilla.org/en-US/...onous_Requests

                request.open('GET', '/bar/foo.txt', false);

                Außerdem wird in deinem Code noch IE5(!) erwähnt.
                Wir sind jetzt bei 11 und auch der ist so gut wie tot.

                Kommentar


                • #9

                  Hi,

                  der Einfachheit halber in einer Datei eine Suchanweisung für Google:

                  PHP-Code:
                  echo "search?&q=mauerfall;" //Wäre deine ID 
                  Das Script gibt die Suchanweisung aus und leitet nach x Sekunden weiter:

                  PHP-Code:
                  <!DOCTYPE HTML>
                  <
                  html lang="de">
                  <
                  head>
                  <
                  meta charset="utf-8" />
                  <
                  title>Untitled</title>
                  <
                  script
                    src
                  ="https://code.jquery.com/jquery-3.3.1.min.js"
                    
                  integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
                    
                  crossorigin="anonymous">
                  </script>
                  <script
                    src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"
                    integrity="sha256-VazP97ZCwtekAsvgPBSUwPFKdrwD3unUfSGVYrahUqU="
                    crossorigin="anonymous">
                  </script>
                  <script type="text/javascript">
                  <!--
                  $(function(){
                   $("#btn").click(function(){
                    $.ajax({
                    url:"__auto_redirect_src.php",
                    type:"GET",
                    success:function(data){
                                //Ausgabe
                               $("#ausgabe").html(data);
                               //Weiterleitung
                               var seconds = 5;
                               var interval = setInterval(function() {
                                $("#hinweis").html("Sie werden weitergeleitet in " + seconds + " Sekunden.");
                                seconds--;
                                if(seconds == -1){
                                 clearInterval(interval);
                                 window.location.href = "http://google.de/" + data;
                                  }
                                }, 1000);
                               }
                   });
                   });
                  });
                  // -->
                  </script>
                  </head>
                  <body>
                  <button id="btn">Redirect</button>
                  <p><LastAddedId id="ausgabe">&nbsp;</LastAddedId></p>
                  <p><hinweis id="hinweis"></hinweis></p>
                  </body>
                  </html> 

                  Kommentar


                  • #10
                    Fetch gibt es auch noch...

                    HTML-Code:
                    <!DOCTYPE html>
                    <html lang=de>
                      <meta charset=UTF-8>
                      <title>Redirect</title>
                    <p>Weiterleitung zu: http://google.de/<span id=w></span> in 2 Sekunden!</p>
                    <script>
                      fetch("xxx.php").then(r=>r.text().then(t=>{w.innerHTML=t;setTimeout(()=>window.location.href="http://google.de/"+t ,2000)}));
                    </script>

                    Kommentar

                    Lädt...
                    X