HTML DOM メソッドからの戻り値を含む配列を作成する関数があります: window.document.getElementById()
function makearray1(){
var array1=[1,window.document.getElementById('divID'),['a','b'],[1,2]];
}
次に、配列を別の関数に渡します
use(array1)
function use(xxx){
xxx[1].innerHTML=xxx[2][0];
}
そして「a」は適切なdivに書かれています
後で、配列をフォームに入れて、php を使用してサーバー上の txt ファイルに投稿することにしました。
JSON.stringify(array)
そのため、ページの残りの部分が読み込まれた後などに、AJAX を使用して txt ファイルからデータを呼び出します。配列を作成するために使用された元の関数はまったく含まれていません。
だから私のphpは基本的にこれです:
$a1='use(';
$data1 =file_get_contents("text_file.txt") ;
$a2=')';
echo $a1.$data1.$a2;
および応答テキスト:
var n= XMLHttpRequestObject.responseText;
eval(n);
これは、次のことを意味します。
use(text_file)
function use(xxx){
xxx[1].innerHTML=xxx[2][0];
}
問題は、テキスト ファイル内の配列が次のようになっていることです。
[1,null,['a','b'],[1,2]]
それ以外の:
[1,window.document.getElementById('divID'),['a','b'],[1,2]]
私の質問: ここでやろうとしていることと同等のことを行う方法はありますか? AJAX/php を使用して、配列内の HTML/DOM メソッドの戻り値をすぐに複製しますか?
明確にするために:これは簡単な例です。私は実際に、既に確立されたポインター、またはその中にプリフェッチされた DOM ノードを持つ巨大な多次元配列を持っています。テキストバージョンが ajax を使用してロードされたときに、配列を複製しようとしています。すべての null 割り当てを、適切な DOM ノードをすぐにフェッチするものに変更するための再帰的なアプローチを探しています。ほとんどの場合、応答テキストでそれを行う必要がありますが、php 部分でそれができることを望んでいました。