2

この連想配列を JavaScript に渡そうとしています:

Array ( [0] => Array ( [topicid] => 38 [topic] => Dad ) [1] => Array ( [topicid] => 6 [topic] => What did you eat? ) [2] => Array ( [topicid] => 4 [topic] => What have you done? ) [3] => Array ( [topicid] => 43 [topic] => He ) [4] => Array ( [topicid] => 28 [topic] => I doubt it ) [5] => Array ( [topicid] => 10 [topic] => What made you feel good ) [6] => Array ( [topicid] => 12 [topic] => Say to yourself ) [7] => Array ( [topicid] => 29 [topic] => I doubt myself ) ) 

PHP ファイル内:

$topicsjson=json_encode($topics);
echo "<script>var topicsjson = $topicsjson; </script>";

JavaScript ファイル内:

document.write(topicsjson);

それは私にこの結果を与えます:

[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

ここで何か不足していますか?

4

4 に答える 4

4

PHP は次のような JavaScript を生成します。

<script>var topicsjson = [{"topicid":38,"topic":"Dad"},{"topicid":6,"topic":"What did you eat?"},{"topicid":4},{"topic":"What have you done?"}]; </script>

の内容を反復処理するには、2 つの for ループを使用しますtopicsjson

var length = topicsjson.length;
for (var i = 0; i < length; i++) {
    for (var key in topicsjson[i]) {
        document.write(key + ": " + topicsjson[i][key] + "<br/>");
    }
}

デモ: jsFiddle

于 2012-06-12T00:33:51.830 に答える
2

代わりにこれを試してください:

document.write(topicsjson.toString());
于 2012-06-12T00:26:09.970 に答える
1

Javascript から解析できる XML に変換して、この例を試すことができます。

于 2012-06-12T00:28:48.223 に答える
0

ソース、ルークを使用してください。で変数の内容を読み取らないでくださいdocument.write。任意の Web ブラウザーを使用して、生成された PHP ファイルのソース コードを次の行で確認します。

echo "<script>var topicsjson = $topicsjson; </script>";
于 2012-06-12T01:49:43.690 に答える