[FRAGE] Variablenübergabe mit AJAX klappt nicht

tklustig

New member
Hallo Leute, folgender Versuch, eine Variable mittels AJAX an eine PHP-Methode zu übergeben, funktioniert nicht. Als Fehlermeldung wird
PHP:
PHP Notice 
Undefined index: daten
zurück gegeben. Ziel ist es, den PHP-Code nur dann auszuführen,wenn die JS-Variable erfolgreich übertragen wurde. Was mache ich falsch?
HTML:
<!Doctype html> 
<html> 
    <head>
        <meta charset="utf-8"> 
        <title> AJAX </title> 
        <style></style> 
    </head>
    <body> <!-- ab hier HTML-Code einfügen -->
        <form id="formular" name="formular" action="AJAX.php" method="post"></form>
        <h1>AJAX</h1>
        <h2>ein Versuch, mit AJAX eine Variable an PHP zu übergeben</h2>

    </body>
</html>
Code:
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js">
            //Version 1 mit JQuery - funktioniert nüscht. daten wird nicht übermittelt        
            var result = confirm("Record wirklich löschen??");
            var daten = true;
            var base_url = window.location.origin + "/yii2_perswitch";
            var path_controller = base_url + "/frontend/modules/kontakt/controllers/";
            var link = base_url + "/frontend/web/yiic.php/adresse";
            if (!result) {
            document.location.href = link;
            } else {
            $.post("AJAX.php", {
            json: daten
        </script>
        <script>
            //Version 2 mit AJAX - funktioniert nüscht. daten wird nicht übermittelt   
                    var result = confirm("Record wirklich löschen??");
            var daten = true;
            var request = new XMLHttpRequest();
            var base_url = window.location.origin + "/yii2_perswitch";
            var path_controller = base_url + "/frontend/modules/kontakt/controllers/";
            var link = base_url + "/frontend/web/yiic.php/adresse";
            if (!result) {
                document.location.href = link;
            } else {
                request.open('POST', "AJAX.php", true);
                request.setRequestHeader('Content-Type', 'application/x-www-formurlencoded');
                request.send('json=' + daten);
            }

        </script>
PHP:
        <?php
        //var_dump($_POST["daten"]);
        if (isset($_POST['daten'])) {
            echo"<h3>Treffer</h3>";
        } else
            echo"<h3>ERROR!</h3>";
        ?>
 
Zuletzt bearbeitet:
Lass' dir im PHP doch mal per var_dump() das $_POST ausgeben, dann solltest du den Fehler sehen.

PS: Dein jQuery-Script hat Syntaxfehler.
 
Zurück
Oben