Imを学んでPHP & JSONを学習し、(ドメインAによって作成された)ローカルストレージデータを取得しようとしています。それが存在しない場合は、mysqlに問い合わせてクライアント側のドメインBのjavascript変数に結果を返す必要があります。localstorageを読み込み、JSON
私が理解するように、PHPはlocalstorageに直接アクセスできません。しかし、ドメインAのPHPファイルにjavascriptを置くと、「予期しないトークン」のエラーがあります。出力には、ドメインBのjavascript変数に渡す必要があるjsonデータのみが含まれていると思います。
ドメインAのPHPでlocalstorageを取得するためにjavascript/ajaxを実行する方法がわかりませんでした。クエリmysqlは結果をドメインBのjavascript変数に返します。
ドメインBのクライアントサイドページにPHPコードを追加できません。
誰でも手伝ってもらえますか?私は..日間のためのソリューションを探している
(ドメインAオン)のlocalStorage
<script src="http://....../localstorage.js"></script>
store('ID'); //retrieve localstorage value
をチェック(ドメインA)JavascriptをPHP +のlocalStorageデータ
<?php
//Get localstorage data
//If localstorage is null, perform MySql query check
$myObj->name = $result; //
$myJSON = json_encode($myObj);
echo $myJSON;
?>
(ドメイン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();
こんにちはクエンティン、迅速な対応に感謝します。はい、私はあなたがあまりにも言及したようにドメインAのローカルストレージキーを作成するためにiframeを使用しました。 PostMessageが面白そうに見えますが、私は前にこれを見つけていません。 これはJavaScriptで動作しますか、フレーム間でデータをどのようにポストしますか?あなたが見ることができるいくつかのリソースを持っていますか、どんなサンプルもすばらしいでしょう:) – codebox
postMessageは異なる起源のフレーム間で通信するためのブラウザAPIです。 [MDNには包括的なガイドがあります(https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage)。つまり、あるドメインにイベントリスナーがあり、そのイベントをトリガーするために、他のドメインからpostMessageを呼び出すとします。イベントオブジェクトにデータを含めることができます。 – Quentin
ありがとう@クエンティン!!私はこれが現在どのように機能し、変数を渡すことができるかを見ています:D – codebox