私には 2 つのページがあり、最初のページのボタンをクリックすると、次のメソッドを使用して ajax リクエストを作成し、2 番目のページにリダイレクトします。
window.location.href="newpage.php";
今私の意図は、この 2 番目のページに ajax 要求の結果を使用することです。しかし、2 番目のページが読み込まれると、ajax リクエストからのすべての json データが失われるようです。これを達成する方法はありますか?
私には 2 つのページがあり、最初のページのボタンをクリックすると、次のメソッドを使用して ajax リクエストを作成し、2 番目のページにリダイレクトします。
window.location.href="newpage.php";
今私の意図は、この 2 番目のページに ajax 要求の結果を使用することです。しかし、2 番目のページが読み込まれると、ajax リクエストからのすべての json データが失われるようです。これを達成する方法はありますか?
ジェイミー・テイラーのように悲しいことに、とにかくページを切り替える場合は AJAX を使用しないでください。
AJAX で要求するファイル内のコードが何であれ、そのコードを の先頭に移動しますnewpage.php
。
Cookie または HTML5 ローカル ストレージを使用して、取得した JSON データを保存します。データは、ユーザーのブラウザからいつでも利用できるようになります。Cookie は約 4KB を保持できます (ブラウザーに依存するかどうかはわかりませんが) ため、非常に少量の JSON を保存する場合は、これで十分な場合があります。それ以外の場合は、ローカル ストレージを使用する必要があります。私の記憶が正しければ、(Chrome で) 少なくとも 2.5 MB のデータが保証されます。他のブラウザでは、より多くの情報が得られる場合があります (続きを読む)。
ローカル ストレージ API を簡単に使用するには、 jQuery localStorage プラグインを確認してください。
iURL の長さには制限があります。json データによっては、「window.location.href」を使用するとエラーが発生する場合があります。
<form method='POST' id="yourFormId"> オブジェクトを作成し、フォーム フィールドに必要なデータを入力してみてください。
<input type="hidden" id="jsondata" name="jsondata" value="myJsonString">
次に、「document.getElementById('yourFormId').submit()」を使用して JavaScript を使用してリダイレクトをトリガーできます。