• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Array mit AJAX übergeben

  • Ersteller Ersteller Gelöschtes Mitglied 30569
  • Erstellt am Erstellt am
G

Gelöschtes Mitglied 30569

Guest
Hallo community,

vorneweg, bin ein absoluter Newbie beim Thema JS und Ajax. Ich habe ein Tutorial gefunden und spiel damit gerade rum und versuche mir erste Schritte in AJAX zu erlernen. Soweit so gut, ich schlängle mich so durch. Wo ich allerdings ein Problem habe, ist die Verarbeitung eines Array im JS mit json. Ich bekomme es einfach nicht hin. Kann mir das jemand auf einfache Art und Weise erklären? Habe es schon mit JSON.parse() versucht aber da passiert gar nichts. Brauche ich dazu noch eine JAVA BIB?

2. Frage, wenn ich jetzt die Spalten abcd und efgh in einen Array php seitig packen möchte, also mehrdimensional und das dann in JS auslesen. Wie geht das? In JQuery kenne ich mich gar nicht aus und das ist in den ganzen Tutorials mit drin...Geht es nicht auch mit JS?

Mein Code sieht folgendermaßen aus:

PHP:
<?php

    if (isset($_GET['inputText']))
    {
    $eingabe = $_GET['inputText'];
    $test = array();
    $array = array();
    require ("verbindungdb.php");
   
    $abfrage = "SELECT abcd,efgh FROM xyz WHERE `funktion` = '$eingabe'";
    $array = mysql_query($abfrage);
    while ($row = mysql_fetch_object($array))
                                {
                                array_push($test,$row->abcd);
                               
   
                                }

    echo json_encode($test);
    }
?>

HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Ajax - PHP example</title>
    </head>
    <body>
        <!-- hier wird die Scriptdatei eingebunden -->
        <script type="text/javascript" src="javafunktionen.js"></script>
        <div id="error">
        </div>
        <form name="testForm">
            <!-- beim Evwent onkeyup wird die javascriptfunktion doWork() aufgerufen -->
            <select name="test" style="width:300px;" onchange="doWork('test','test2')" id="test">
                <option value="1">1</option>
                <option value="2">2</option>
                <option value="3">3</option>
            </select>
           
            <select name="test2" style="width:300px;">
            </select>
            Output text: <input type="text" name="outputText" id="outputText" />
        </form>
    </body>
</html>

Code:
//Select optionen

function addOption(theSel, theText, theValue)
        {
              var newOpt = new Option(theText, theValue);
              var selLength = theSel.length;
              theSel.options[selLength] = newOpt;
        }


// Get the HTTP Object
function getHTTPObject(){
    if (window.ActiveXObject) return new ActiveXObject("Microsoft.XMLHTTP");
    else if (window.XMLHttpRequest) return new XMLHttpRequest();
    else {
        alert("Your browser does not support AJAX.");
        return null;
    }
}
// Change the value of the outputText field
function setOutput(){
    if(httpObject.readyState == 4){
        var json = httpObject.responseText;
       
       
        document.getElementById('outputText').value = json;
    }
}

// Implement business logic
function doWork(fromId,toId){
    var sel = document.getElementById(fromId);
    sel = sel.value;
    httpObject = getHTTPObject();
    if (httpObject != null) {
        //php-Datei auf dem Server aufrufen
        httpObject.open("GET", "ajax_f1_server.php?" + 'inputText' + "=" + sel, true);
        httpObject.send(null);
        httpObject.onreadystatechange = setOutput;
    }
}

var httpObject = null;
 
Zurück
Oben