Javascript Datei senden?
Hallo,
angenommen ein Javascript liest bestimmte Werte und speichert diese als String in einer Variablen, wie kann ich diese Variable dann versenden(vom Browser des Nutzer) zu mir?
3 Antworten
Via Fetch API kannst du Daten verschicken.
https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch
Die Zieladresse könnte ein Skript sein, welches die Daten auffängt und irgendwo speichert.
Beispiel:
JS:
fetch("target URL ...", {
method: "POST",
body: encodeURIComponent(`data=${someValue}`)
});
PHP (Zieladresse):
<?php
if (isset($_POST['data'])) {
print $_POST['data'];
}
Es gibt verschiedene Speichermedien und zu diesen auch eine API. Seien es Textdateien (siehe file_put_contents und file_get_contents) oder Datenbanken wie MySQL (lies hier; Voraussetzung ist natürlich, dass du ein DBMS zur Verfügung hast).
In einem PHP-Skript kannst du die Werte wieder auslesen und in einem Dokument verarbeiten.
<!doctype html>
<head>
<title>...</title>
<meta charset="utf-8">
</head>
<body>
<?php
$someValue = // read value from somewhere ...
?>
<h1><?= $someValue ?></h1>
</body>
Indem du mittels Ajax eine Anfrage an deinen Server sendest beispielsweise?
Und mit der URL rufst du eine Website auf und die liegt auf einem Server...
Nun, vielleicht lässt sich der trotzdem nutzen, um Dateien zu empfangen oder um einen Kanal aufzubauen zu dem Gerät, an welches die Daten geschickt werden sollen.
Nein, leider nicht. Ich habe nur die Erlaubnis vom Besitzer, meinen Code über die URL in seiner Seite einzubetten.
Je nachdem, was das für Code ist, kannst du das nutzen.
Ansonsten wird es mit der Datenübermittlung schwierig, aber auch nicht unmöglich. Wobei ich nicht weiß, ob passende APIs exestieren, die die anderen Lösungen praktikabel machen.
Eventuell miete ich mir jetzt einen eigenen Server dafür. Die Idee ist, dass ein externes Bild in die Website eingebettet wird. Wenn dann der User Agent, oder was auch immer diese externe Ressource lädt, können ja Informationen über den Browser ausgelesen werden. Was für eine Art von Server passt für diese Aufgabe denn am ehesten?
Uff, ich denke da kann man nicht viel falschmachen. Soll halt das Bild ausliefern können und die Abfrage für die lesbar loggen.
Aber das solltest du prinzipiell eigentlich auch mit dem Server, den du jetzt hast, hinbekommen. Logs sollte der sowieso erstellen.
Per HTTP POST Request
Gibt es zufällig einen Anbieter der anbietet, die gesendeten Requests kostenlos zu loggen? Dann könnte ich die dabei entstehende Datei ja viel einfacher auswerten...
Anbieter? Die kannst du einfach in deinem Backend loggen
Vielen Dank. Wie kann ich denn jetzt den erhaltenen Wert mit php speichern? Ist es möglich z.B. ein neues h1 element mit Text des Wertes zu erstellen?