Ich habe eine PHP-Datei auf einem Server, der dynamische Werte von der clientseitigen Verwendung auf einer Webseite nehmen muss, um meine Datenbank abzufragen. Der Benutzer wird auf einen Link klicken, der (ebenso wie er den Benutzer auf eine neue Registerkarte verweist) die Dokumentpositionszeichenfolge übernimmt, mit der der Link verbunden ist. Ich versuche gerade, diese Werte mit jQuery/AJAX und einem XHR-Aufruf an den serverseitigen Code zu übergeben, aber wenn ich es ausführe, scheint es, dass PHP nicht korrekt ausgeführt wird. Hier ist der JavaScript-Code:Übergabe von JavaScript-Werten an PHP-Datei mit XHR-Aufruf
// Clicking the link
$('a.docs').on('click', function(){
// Getting the values needed for the query from existing table
var theData = subtable.row($(this).parents('tr')).data();
// The document string
var thedoc = theData[7];
// Pass the document value to the PHP file on the server
$.post('https://example.com/TEST/dashboard/change.php', {
document: thedoc
});
// Make XHR call to execute the PHP file on the server
var xhr = new XMLHttpRequest();
xhr.open("GET", "https://example.com/TEST/dashboard/change.php", true);
xhr.send();
});
Wie Sie sehen können, ich versuche, auf dem Server den Wert von thedoc
in die Datei zu senden, bevor die GET
XHR Anruf. Hier ist das, was PHP-Code auf dem Server nicht:
<?php
// The line that grabs the document variable being passed
$document = $_POST['document'];
// ... MySQL query stuff using $document as parameter...
?>
Wenn ich dies zu testen, und klicken Sie auf den Link auf der Webseite, die JavaScript packt das Dokument korrekt Link-Variable, es ist nur die Weitergabe, die nicht funktioniert hat. Irgendwelche Ideen darüber, was ich falsch mache?
Der '$ .post' Anruf sollte das Dokument auf Ihrer Serverseite. Haben Sie versucht, 'console.log'' thedoc' Variable? – jorgonor
Ja und es ist die richtige Variable, die ich an die PHP übergeben muss – Jodo1992
Nun, Ihr PHP-Skript sollte zweimal aufgerufen werden. Zuerst, wenn Sie den '$ .post'-Aufruf und ein anderes Mal in der xhr machen. Der erste sollte den Wert an den Server senden, der zweite sollte nicht. Versuchen Sie, den XHR-Aufruf zu entfernen, da dies keinen Sinn ergibt. – jorgonor