Ich versuche, die Post-Request-Parameter aus meinem HTML-Code zu lesen. Ich kann die get request Parameter mit dem folgenden Code in JavaScript lesen.
$wnd.location.search
Bei Postanfragen funktioniert dies jedoch nicht. Kann mir jemand sagen, wie ich die Parameterwerte nach der Anforderung in meinem HTML-Code mit JavaScript lesen kann?
javascript
html
DonX
quelle
quelle
Ein kleines Stück PHP, mit dem der Server eine JavaScript-Variable auffüllen kann, ist schnell und einfach:
Greifen Sie dann einfach wie gewohnt auf die JavaScript-Variable zu.
Beachten Sie, dass es keine Garantie gibt, dass bestimmte Daten oder Arten von Daten veröffentlicht werden, es sei denn, Sie überprüfen - alle Eingabefelder sind Vorschläge, keine Garantien.
quelle
JavaScript ist eine clientseitige Skriptsprache, dh der gesamte Code wird auf dem Computer des Webbenutzers ausgeführt. Die POST-Variablen gehen dagegen zum Server und befinden sich dort. Browser stellen diese Variablen weder der JavaScript-Umgebung zur Verfügung, noch sollte ein Entwickler erwarten, dass sie auf magische Weise vorhanden sind.
Da der Browser JavaScript den Zugriff auf POST-Daten untersagt, ist es so gut wie unmöglich, die POST-Variablen zu lesen, ohne dass ein externer Akteur wie PHP die POST-Werte in eine Skriptvariable oder eine Erweiterung / ein Addon überträgt, die / das die POST-Werte während der Übertragung erfasst. Die GET-Variablen sind über eine Problemumgehung verfügbar, da sie sich in der URL befinden, die vom Clientcomputer analysiert werden kann.
quelle
Verwenden Sie sessionStorage!
Auf einer anderen Seite.html:
Referenzlink - https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage
quelle
form.on('submit',function(){document.sessionStorage["form-data"] = $('this').serialize();window.location.href = 'another-page.html';})
samesite = None
undSecure
so erlaubt Chrome seine Verwendung.Auf diese Weise haben Sie von überall Zugriff darauf!
quelle
cloudianos.com
nicht dasapi.cloudianos.com
JavaScript von erreichen, da sie nicht dasselbe teilenlocalStorage
.Sie können den Post-Request-Parameter mit jQuery-PostCapture ( @ ssut / jQuery-PostCapture ) lesen .
Das PostCapture-Plugin besteht aus einigen Tricks.
Wenn Sie auf die Schaltfläche "Senden" klicken, wird das
onsubmit
Ereignis ausgelöst.Zu diesem Zeitpunkt wird PostCapture Formulardaten serialisieren und in HTML5 localStorage (falls verfügbar) oder Cookie-Speicher speichern.
quelle
POST ist das, was der Browser vom Client (Ihrem Browser) an den Webserver sendet. Post-Daten werden über http-Header an den Server gesendet und sind nur am Serverende oder zwischen dem Pfad (Beispiel: ein Proxyserver) vom Client (Ihrem Browser) zum Webserver verfügbar. Es kann also nicht mit clientseitigen Skripten wie JavaScript verarbeitet werden. Sie müssen dies über serverseitige Skripte wie CGI, PHP, Java usw. handhaben. Wenn Sie weiterhin in JavaScript schreiben müssen, benötigen Sie einen Webserver, der JavaScript auf Ihrem Server wie Node.js versteht und ausführt
quelle
Wenn Sie mit einer Java / REST-API arbeiten, ist eine Problemumgehung einfach. Auf der JSP-Seite können Sie Folgendes tun:
quelle
Oder verwenden Sie es, um sie in ein Wörterbuch einzufügen, das eine Funktion abrufen könnte:
Dann in JavaScript:
Dies ist nur ein Beispiel und sollte nicht verwendet werden für jede sensible Daten wie ein Passwort, usw. Die POST - Methode aus einem Grund besteht; Daten sicher an das Backend zu senden, so dass der Zweck zunichte gemacht würde.
Wenn Sie jedoch nur eine Reihe nicht sensibler Formulardaten benötigen, um zu Ihrer nächsten Seite zu gelangen, ohne
/page?blah=value&bleh=value&blahbleh=value
Ihre URL zu verwenden, würde dies zu einer saubereren URL führen und Ihr JavaScript kann sofort mit Ihren POST-Daten interagieren.quelle
Ich habe einen einfachen Code, um es zu machen:
In Ihrer index.php:
In Ihrer main.js:
Wenn Sie also main.js in index.php (
<script type="text/javascript" src="./main.js"></script>
) aufnehmen, können Sie den Wert Ihrer versteckten Eingabe abrufen, die Ihre Post-Daten enthält.quelle
Sie können 'json_encode' verwenden, um zuerst Ihre Post-Variablen über PHP zu codieren. Erstellen Sie dann ein JS-Objekt (Array) aus den JSON-codierten Post-Variablen. Verwenden Sie dann eine JavaScript-Schleife, um diese Variablen zu bearbeiten ... Wie in diesem Beispiel unten, um ein HTML-Formular auszufüllen:
quelle
Eine Möglichkeit besteht darin, ein Cookie in PHP zu setzen.
Beispiel: Ein Cookie mit dem Namen " ungültig" mit dem Wert "
$invalid
Ablauf in 1 Tag":Lesen Sie es dann in JS wieder aus (mithilfe des JS-Cookie- Plugins):
Sie können jetzt über die
invalid
Variable in JavaScript auf den Wert zugreifen.quelle
Dies hängt davon ab, was Sie als JavaScript definieren. Heutzutage haben wir JS in serverseitigen Programmen wie NodeJS. Es ist genau das gleiche JavaScript, das Sie in Ihrem Browser codieren, außer als Serversprache. Sie können also Folgendes tun: ( Code von Casey Chu: https://stackoverflow.com/a/4310087/5698805 )
Und daraus
post['key'] = newVal;
usw ...quelle
POST-Variablen stehen dem Browser nur zur Verfügung, wenn derselbe Browser sie überhaupt gesendet hat. Wenn ein anderes Website-Formular per POST an eine andere URL gesendet wird, werden die POST-Daten vom Browser nicht angezeigt.
SITE A: Mit einem Formular, das mit POST SITE B an eine externe URL (Site B) gesendet wird: Empfängt der Besucher, jedoch nur mit GET-Variablen
quelle
quelle
In jQuery gibt Ihnen der obige Code die URL-Zeichenfolge mit POST-Parametern in der URL. Es ist nicht unmöglich, die POST-Parameter zu extrahieren.
Um jQuery verwenden zu können , müssen Sie die jQuery-Bibliothek einschließen. Verwenden Sie dazu Folgendes:
quelle
Wir können die mit POST übermittelten Formularparameter mithilfe des Serialisierungskonzepts erfassen .
Versuche dies:
Schließen Sie es einfach ein, es zeigt alle Parameter einschließlich versteckter an.
quelle
Verwenden Sie den EL-Ausdruck $ {param.xxx} in
<head>
, um Parameter von einer Post-Methode abzurufen, und stellen Sie sicher, dass die js-Datei danach enthalten ist,<head>
damit Sie einen Parameter wie 'xxx' direkt in Ihrer js-Datei verarbeiten können.quelle