Ich lerne PHP & JSON und versuchen, eine lokale Speicherdaten (erstellt von Domäne A) abrufen. Wenn sie nicht existiert, muss sie mysql abfragen und das Ergebnis an die JavaScript Variable candidateside Domain B zurückliefern.Lesen Sie localstorage & pass als JSON
Was ich verstehe ist, dass PHP lokalen Speicher nicht direkt zugreifen kann. Aber wenn ich Javascript auf Domain A PHP-Datei platzieren, gibt es einen Fehler von "Unerwartetes Token". Ich denke, die Ausgabe kann nur die JSON-Daten enthalten, die an die JavaScript-Variable der Domäne B übergeben werden müssen.
Ich konnte nicht herausfinden, wie man Javascript/Ajax auf Domain A PHP ausführen, um Localstorage abzurufen, mysql abfragen und dann das Ergebnis zurück an Domain B Javascript Variable übergeben.
Nur um hinzuzufügen, dass ich php-Code nicht hinzufügen kann, Seite der Domäne B Clientside.
Jeder kann mir helfen? Ich habe seit Tagen für Lösung gesucht ..
(Domain A) Javascript, das die localstorage
<script src="http://....../localstorage.js"></script>
store('ID'); //retrieve localstorage value
(On Domain A) PHP + localstorage Daten
<?php
//Get localstorage data
//If localstorage is null, perform MySql query check
$myObj->name = $result; //
$myJSON = json_encode($myObj);
echo $myJSON;
?>
prüft (Auf Domäne B) Javascript - Clientside
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var myObj = JSON.parse(this.responseText);
document.getElementById("demo").innerHTML = myObj.name;
}
};
xmlhttp.open("GET", "fileon_DomainA.php", true);
xmlhttp.send();
hey quentin, danke für die schnelle Antwort. Ja, ich habe iframe verwendet, um den lokalen Speicherschlüssel für Domäne A zu erstellen, wie Sie bereits erwähnt haben. PostMessage sieht interessant aus, ich bin nicht schon einmal darauf gestoßen. Funktioniert das mit Javascript oder wie werden Daten zwischen Frames gepostet? Haben Sie irgendeine Ressource, die ich betrachten könnte oder irgendeine Probe würde fantastisch sein? – codebox
postMessage ist eine Browser-API für die Kommunikation zwischen Rahmen auf verschiedenen Ursprüngen. [MDN hat eine umfassende Anleitung] (https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage). Kurz gesagt, Sie haben einen Ereignis-Listener in einer Domäne und dann rufen Sie postMessage von der anderen, um dieses Ereignis auszulösen. Sie können Daten in das Ereignisobjekt aufnehmen. – Quentin
Danke @Quentin !! Ich sehe, wie das jetzt funktioniert und Variablen weitergeben kann: D – codebox