Ankündigung

Einklappen
Keine Ankündigung bisher.

Array an Skript übergeben

Einklappen

Neue Werbung 2019

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

  • Array an Skript übergeben

    Ich bin Anfänger
    Habe das problem, dass ich in meiner App verschiedene Anzeigen wechseln muss bei einigen eingaben.
    HTML-Code:
    function showRech(indexMenue, strMenueField="Ad_id", strMenue, strMenuePlace, indexCont, strContField="Kundennummer", strCont, strContPlace)
                        {
                            //z.B. Menue in SideMenue einblenden
                            showHint(indexMenue, strMenueField, strMenuePlace, strMenue)
                            //z.B. Informationen im Contentteil einblenden
                            showHint(indexCont, strContField, strContPlace, strCont)
                            //alert (strCont)  ;
                        }
    
                    function showMulti(info_array)
                        {
                            //z.B. Menue in SideMenue einblenden
    
                            //info_array.forEach(function(einArrayElement){
                            //showHint(indexMenue, strMenueField, strMenuePlace, strMenue);
                            //})
                        }

  • #2
    War zu schnell mit der Tastatur.

    Wie schaffe ich es einen Array an das skript zu übergeben von php
    Wie komme ich an die Daten des Arrays um die showHint entsprechend auf zu rufen.

    Besten Dank für eure Hilfe

    Kommentar


    • #3
      Mit AJAX.

      Code:
      jQuery(function ($) {
          $.getJSON('data.php', function (data) {
              console.log(data);
          });
      });
      data.php
      PHP-Code:
      <?php

      $data 
      = ['foo''bar''baz'];

      header('Content-Type: application/json');
      echo 
      json_encode($data);

      Kommentar


      • #4
        Besten Dank für die schnelle Antwort.
        Du übergibst einen Array. Das habe ich verstanden. Ich glaube ich habe mein Problem schlecht erläutert.
        Ich möchte einen 2 Dimensionalen Array übergeben und müsste dann in einer wahrscheinlich foreach Schlaufe den Array durchlaufen, um meine showHint function mehrfach auf zu rufen.
        Jetzt beginnt mein Problem.
        HTML-Code:
        <?php
        
        $data = [['index'=>'12021','Feld'=>'ID','Menue'=>'sidenav','platz'=>'ut']
                 ['index'=>'www','Feld'=>'','Menue'=>'content','platz'=>'oben']];
        
        header('Content-Type: application/json');
        echo json_encode($data);  
        HTML-Code:
          function showMulti(info_array)     {       info_array.forEach(function(einArrayElement){       showHint(einArrayElement['index'], einArrayElement['Feld'], einArrayElement['Menue'], einArrayElement['platz]);    })  }
        HTML-Code:
        <button class="btn btn-info btn-sm btn-block" type="button" onclick="showMulti("<?json_encode($data)?>")" style="font-weight:bold"><span class="glyphicon glyphicon-barcode"></span> Rechnung</button>
        Würde das so funktionieren?

        Kommentar


        • #5
          JavaScript- und PHP-Code sollte nicht vermischt werden. Schreibe JavaScript-Code ausschließlich in JavaScript-Dateien.

          Kommentar


          • #6
            Ja das mache ich. Hier bin ich nur am probieren wies funktioniert. Hab mir eine Htm datei erstellt zum Testen. leider bekomme ich eine Fehlermeldung. Wo muss ich ansetzen?
            HTML-Code:
            <!DOCTYPE html>
            
            <html>
            
            <head>
              <title>Hello!</title>
            
            
            <script>
                function showMulti(info_array)
                    {
                        //z.B. Menue in SideMenue einblenden
            
                        info_array.forEach(function(einArrayElement){
                            alert einArrayElement[1]+' '+einArrayElement[2]+' '+einArrayElement[3]+' '+einArrayElement[4];
            
                        //showHint(indexMenue, strMenueField, strMenuePlace, strMenue);
                        })
                    }
            
            </script>
            
            
            </head>
            
            <body>
            
            <?php
                $data = array(['12021','ID','sidenav','ut'],
                         ['www','','content','oben']);
                header('Content-Type: application/json');
                $meinArray = json_encode($data);
                echo "<pre>".var_dump($data)."</pre>";
            ?>
            
            <button type="button" onclick="showMulti("<?$meinArray?>")" style="font-weight:bold"> Rechnung</button>
            </body>
            </html>
            Der Array in $data ist korrekt und wird auch so angezeigt. Leider bekomme ich eine Fehlermaldung:
            SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data

            Sieht man den Fehler als Profi soffort?

            Danke für die Hilfe

            Kommentar


            • #7
              Wozu willst du etwas probieren, das du dann erst wieder wegschmeißt? Mach es doch gleich richtig,.

              Kommentar


              • #8
                Ich möchte mit dem versuch nur den Fehler finden. Es funktioniert nicht. Die übergabe des Arrays oder die Funktion showMulti ist fehlerhaft. In der Applikation sind die Funktionen getrennt. Das ist ein einzelproblem das ich versuche zu lösen.
                Nach dem ich verstanden habe wo der Fehler liegt ist es für mich logischer meine App zu aktualisieren.
                Hast du was gesehen was die Fehlermeldung bewirkt oder liegt es daran, dass das Skript in der Html datei liegt und ich muss es zwingend trennen?

                Kommentar


                • #9
                  Zitat von Marlon Beitrag anzeigen
                  Ich möchte mit dem versuch nur den Fehler finden. Es funktioniert nicht. Die übergabe des Arrays oder die Funktion showMulti ist fehlerhaft. In der Applikation sind die Funktionen getrennt. Das ist ein einzelproblem das ich versuche zu lösen.
                  Das sind doch zwei Dinge, die man separat testen kann. Lass erstmal PHP weg und schau ob deine reine HTML-/JavaScript-Lösung funktioniert.

                  Und ob PHP die richtigen Daten übergibt, kann auch separat getestet werden.

                  Es macht keinen Sinn zwei Baustellen aufzureißen und dann rumzuraten, wo es jetzt haken könnte.

                  Kommentar


                  • #10
                    Zitat von Marlon Beitrag anzeigen

                    Der Array in $data ist korrekt und wird auch so angezeigt. Leider bekomme ich eine Fehlermaldung:
                    SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data

                    Sieht man den Fehler als Profi soffort?

                    Danke für die Hilfe
                    : JSON.parse: steht gar nicht im Code !

                    PHP-Code:
                          header('Content-Type: application/json');     $meinArray json_encode($data);     echo "<pre>".var_dump($data)."</pre>"
                    was Du hier ausgibst ist auch kein json.

                    Kommentar

                    Lädt...
                    X