PHP ist eine Backend-Sprache, mit der HTML gerendert und beim Laden der Seite an den Client gesendet wird. Und Javascript ist eine Client-Sprache. Wenn Sie Variablen von JS PHP senden möchten, im Grunde Informationen vom Client zum Server ohne Neuladen der Seite zu senden, müssen Sie AJAX verwenden:
AJAX steht für „Asynchronous JavaScript and XML“. Obwohl der Name XML enthält, wird JSON aufgrund seiner einfacheren Formatierung und geringeren Redundanz häufiger verwendet. AJAX ermöglicht dem Benutzer, mit externen Ressourcen zu kommunizieren, ohne die Webseite neu zu laden. Stackoverflow in der Dokumentation auf Javascript AJAX
ich einen Beitrag auf der Dokumentations-Seite gemacht haben, hier ist es. Ich hoffe es hilft dir zu verstehen, wie es funktioniert.
Diese Funktion führt einen AJAX-Aufruf GET ermöglicht es uns, Parameter (Objekt) zu einer Datei (string) und starten Sie eine Rückruf (Funktion) zu senden, wenn die Anfrage beendet wurde.
function ajax(file, params, callback) {
var url = file + '?';
// loop through object and assemble the url
var notFirst = false;
for (var key in params) {
if (params.hasOwnProperty(key)) {
url += (notFirst ? '&' : '') + key + "=" + params[key];
}
notFirst = true;
}
// create a AJAX call with url as parameter
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
callback(xmlhttp.responseText);
}
};
xmlhttp.open('GET', url, true);
xmlhttp.send();
}
Hier ist, wie wir sie verwenden:
ajax('cars.php', {type:"Volvo", model:"300", color:"purple"}, function(response) {
// add here the code to be executed when data comes back to this page
// for example console.log(response) will show the AJAX response in console
});
und die folgende zeigt, wie die URL-Parameter in cars.php
retreive:
if(isset($_REQUEST['type'], $_REQUEST['model'], $_REQUEST['color'])) {
// they are set, we can use them !
$response = 'The color of your car is ' . $_REQUEST['color'] . '. ';
$response .= 'It is a ' . $_REQUEST['type'] . ' model ' . $_REQUEST['model'] . '!';
echo $response;
}
Wenn Sie console.log(response)
in Callback-Funktion das Ergebnis hatte in Konsole wäre gewesen:
Die Farbe Ihres Autos ist lila. Es ist ein Volvo Modell 300!
In der HTML-Seite müssen Sie haben Sie
<form action="get_data.php" method="get">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>
Und in get_data.php
(die Zieldatei) eine Form umfassen zu schreiben:
<?php
echo $_GET["name"];
echo $_GET["email"];
Diese zweite Methode wird jedoch den Benutzer auf get_data.php
umleiten, ich persönlich mag es nicht wirklich und bevorzuge AJAX für seine Effizienz.
Versuchen Sie, es an eine 'php'-Seite zu übergeben? Kannst du den Code auch einbeziehen? – KaoriYui
Es gibt zwei Möglichkeiten dafür. Ajax oder POST bilden. Wählen Sie das Bessere – Superdrac
Wenn Sie Benutzereingaben machen wollen, drücken Sie submit, und senden Sie diese an PHP, die einfache Lösung verwendet ein [form] (http://php.net/manual/en/tutorial.forms. php) – Luke