it-swarm.com.de

Verwenden AJAX Variable übergeben an PHP und rufen Sie die mit AJAX nochmal

Ich möchte Werte an ein PHP -Skript übergeben, also verwende ich AJAX, um diese zu übergeben, und in derselben Funktion verwende ich ein anderes AJAX, um diese Werte abzurufen. 

Das Problem ist, dass der zweite AJAX keinen Wert aus der PHP -Datei abruft. Warum ist das? Wie kann ich die an das Skript PHP übergebene Variable speichern, damit das zweite AJAX sie abrufen kann? 

Mein Code lautet wie folgt:

AJAX-CODE:

$(document).ready(function() {    
    $("#raaagh").click(function(){    
        $.ajax({
            url: 'ajax.php', //This is the current doc
            type: "POST",
            data: ({name: 145}),
            success: function(data){
                console.log(data);
            }
        });  
        $.ajax({
            url:'ajax.php',
            data:"",
            dataType:'json',
            success:function(data1){
                var y1=data1;
                console.log(data1);
            }
        });
    });
});

PHP-Code:

<?php
$userAnswer = $_POST['name'];    
echo json_encode($userAnswer);    
?>
12
jibin dcruz

Verwenden Sie dataType:"json" für json-Daten

$.ajax({
     url: 'ajax.php', //This is the current doc
     type: "POST",
     dataType:'json', // add json datatype to get json
     data: ({name: 145}),
     success: function(data){
         console.log(data);
     }
});  

Lesen Sie Dokumente http://api.jquery.com/jQuery.ajax/

Auch in PHP 

<?php
  $userAnswer = $_POST['name']; 
  $sql="SELECT * FROM <tablename> where color='".$userAnswer."'" ;
  $result=mysql_query($sql);
  $row=mysql_fetch_array($result);
  // for first row only and suppose table having data
  echo json_encode($row);  // pass array in json_encode  
?>
21
Rohan Kumar

Es ist nicht notwendig, die zweite Ajax-Funktion zu verwenden, Sie können sie innerhalb einer Funktion wieder zum Erfolg führen. Ein anderes Problem ist, dass Sie nicht wissen, wann der erste Ajax-Aufruf beendet ist. Wenn Sie SESSION verwenden, ist dies möglicherweise nicht innerhalb von Second AJAX Aufruf.

Also, ich empfehle einen one AJAX Aufruf und erhalte den Wert mit Erfolg.

beispiel: beim ersten Ajax-Aufruf

    $.ajax({
        url: 'ajax.php', //This is the current doc
        type: "POST",
        data: ({name: 145}),
        success: function(data){
            console.log(data);
            alert(data);
            //or if the data is JSON
            var jdata = jQuery.parseJSON(data);
        }
    }); 
1
user1646111

sie müssen Werte mit den einfachen Anführungszeichen übergeben

$(document).ready(function() {    
    $("#raaagh").click(function(){    
        $.ajax({
            url: 'ajax.php', //This is the current doc
            type: "POST",
            data: ({name: '145'}), //variables should be pass like this
            success: function(data){
                console.log(data);
                           }
        });  
        $.ajax({
    url:'ajax.php',
    data:"",
    dataType:'json',
    success:function(data1){
            var y1=data1;
            console.log(data1);
            }
        });

    });
});

probieren Sie es aus, es kann funktionieren .......

1
Sathish Kumar D

In Ihrer PhP-Datei gibt es eine Variable namens $_REQUEST, die ein Array enthält, in dem alle Daten mit AJAX von Javascript an PhP gesendet werden.

Versuchen Sie Folgendes: var_dump($_REQUEST); und prüfen Sie, ob Sie die Werte erhalten. 

1
Juan Martínez
$(document).ready(function() {
    $("#raaagh").click(function() {
        $.ajax({
            url: 'ajax.php', //This is the current doc
            type: "POST",
            data: ({name: 145}),
            success: function(data) {
                console.log(data);
                $.ajax({
                    url:'ajax.php',
                    data: data,
                    dataType:'json',
                    success:function(data1) {
                        var y1=data1;
                        console.log(data1);
                    }
                });
            }
        });
    });
});

Verwenden Sie diese Funktion, machen Sie zuerst einen Ajax-Aufruf, um Daten abzurufen, und Ihre PHP-Funktion gibt dann das Ergebnis zurück, das Sie in den Daten erhalten, und leitet diese Daten an den neuen Ajax-Aufruf weiter

1
Aks1357