Ihr JavaScript tut dies:
success: function(data) {
console.log(data);
}
So was auch immer die Ausgabe des PHP-Skript ist, wird es in Ihrem Browser-Entwickler-Tools an der Konsole angemeldet sein .
Ihre PHP, tut dies:
$var1 = !empty($_POST['var1']) ? $_POST['var1'] : '';
if(isset($_POST['var1']))
$var1 = $_POST['va1'];
Dies ist überflüssig, weil man im Grunde zweimal das gleiche tun:
$var1 = !empty($_POST['var1']) ? $_POST['var1'] : '';
... ausreichend.
Das ist jedoch alle die PHP tut.
Es setzt die Variablen und gibt dann nichts aus.
Wenn Sie also data
im JS protokollieren, wird nichts ausgegeben.
Sie müssen das PHP ändern, damit es etwas mit den Variablen macht, wenn Sie etwas Nützliches wollen.
Sie haben auch gesagt:
<input type='text' value='<?php echo $var1; ?>'
dem Sie die Variablen Einstellung legt nahe, könnte erwarten, dass die Werte in den Eingängen zu ändern.
Dies wird nicht passieren.
- Sie führen ein Programm aus und haben eine Ausgabe (ein HTML-Dokument).
- Sie lief ein anderes Programm und bekam keine Ausgabe
Sie sind verschiedene Programme (oder möglicherweise sind sie das gleiche Programm laufen zu unterschiedlichen Zeiten).
Das zweite Programm hat keinen Einfluss auf die Ausgabe des ersten Programms.
Betrachten Sie dies als Vergleich:
- ein Dokument in Microsoft Word schreiben
- drucken es
- ein anderes Dokument in Microsoft Word schreiben
- Blick auf das Papier
Was Sie auf dem Papier gedruckt haben, hat sich geändert, nur weil Sie ein anderes Dokument geschrieben haben.
Wenn Sie die Werte der Eingaben ändern möchten, müssen Sie die Daten an den Browser senden und sie mit JavaScript ändern.
Zuerst gibt die Daten in einem vernünftigen Format:
header("Content-Type: application/json");
echo json_encode({
var1 => $var1,
var2 => $var2,
var3 => $var3,
});
dann die JS schreiben etwas mit diesen Daten zu tun:
success: function(data) {
// This sets the value of the first input element in the document by way of example. Extrapolate from there to set the things you actually care about
jQuery("input").val(data.var1);
}
Willkommen bei Stackoverflow! Könnten Sie das tatsächliche Problem zu Ihrer Frage hinzufügen oder was Sie erwarten? –
Sie müssen Ihre Variablen in irgendeiner Weise ausgeben, wenn Sie möchten, dass sie an Ihre Ajax-Anfrage zurückgegeben werden. Auch Ihre ternaries setzt Ihre Variablen bereits auf die richtigen Werte. Die 'if's sind völlig redundant. –
Ist der 'URL'-Parameter auf einen richtigen/bestehenden Pfad? Was siehst du in deiner JS-Konsole? – Kyrre