/ / wie man eine PHP Variable an processing.js übergibt - Javascript, PHP, processing.js

wie man die PHP-Variable an processing.js übergibt - javascript, php, processing.js

Hallo, ich brauche eine Möglichkeit, PHP-Wert an processing.js zu übergeben, wie kann ich das tun. Ich weiß, dass ich AJAX verwenden muss, aber ich weiß nicht, was ich tun soll, um Wert in processing.js zu erhalten. Ich habe so etwas versucht

<script type="text/javascript">
function go(){
var s;
var variable = 5;
$.ajax({
method:"POST",
tupe:"POST",
url: "take.php",
data:({val:variable}),
success: function(data){
//$("#msg").html(data);
var b = data;
s=b;
}

});
alert (s);
}
</script>

und mein PHP ist:

<?php
if($_POST){
$img = "index.jpg"  ;
echo $img;

}
?>

aber wenn ich alarmiere "s"es ist undefiniert und ich weiß nicht, wie ich es an den Verarbeitungscode weitergeben soll, um das Bild auf einer Leinwand darzustellen. Kann mir jemand helfen?

Antworten:

2 für die Antwort № 1

Ajax ist asynchron. Das bedeutet, dass das Skript fortgesetzt wird, während der Ajax-Aufruf ausgeführt wird.

Ihre s Die Variable wird erst definiert, nachdem der Ajax-Aufruf beendet wurde success Funktion. Direkt nach dem Ajax-Aufruf im Skript - aber nicht rechtzeitig - ist es noch nicht definiert.

Um auf die vom Ajax-Aufruf zurückgegebenen Variablen zuzugreifen, müssen Sie Ihre Logik in das Feld einfügen success Funktion.


0 für die Antwort № 2

Die andere Antwort ist richtig, aber eine andere Option ist die Verwendung von a synchron Anruf, wodurch der Anruf an blockiert wird ajax() bis die Daten zurückkehren. So sieht es aus, als hätten Sie angenommen, dass es funktioniert hat.

Um einen synchronen Anruf zu tätigen, übergeben Sie einfach die async:false Parameter in die ajax() anrufen wie folgt:

$.ajax({
method:"POST",
tupe:"POST",
url: "take.php",
data:({val:variable}),
success: function(data){
//$("#msg").html(data);
var b = data;
s=b;
},
async: false
});

Mehr Infos hier: Wie kann ich jQuery dazu bringen, eine synchrone statt eine asynchrone Ajax-Anforderung auszuführen?

Und in der JQuery-Dokumentation.