WEBサイト訪問時にサーバーでいくつかデータを取得し、その JSON をブラウザに渡し JavaScript で加工し HTML として表示する。
以上のような流れにおいて、JSON はどうやってブラウザに渡せばいいのでしょうか?
例えば php に次のように書いても、この data
という変数はグローバルを汚染しますよね?
php
1<head> 2ㅤㅤ<script> 3ㅤㅤㅤㅤconst data= <?= json_encode(User::getData()); ?>; 4ㅤㅤ</script> 5</head>
もしかして、次のように即時関数を利用してスコープに閉じ込めればいいのでしょうか?(しかし <head>
内にやたら長いコードが入ってしまい HTML としてどうなのでしょうか?)
php
1<head> 2ㅤㅤ<script> 3ㅤㅤㅤㅤ(function() { 4ㅤㅤㅤㅤㅤㅤconst data = <?= json_encode(User::getData()); ?>; 5ㅤㅤㅤㅤㅤㅤ// dataを使ってHTMLに反映する処理をここに書く 6ㅤㅤㅤㅤ})(); 7ㅤㅤ</script> 8</head>
それとも、php から渡すのはやめて、JavaScript ですぐに .fetch()
して data
を取ってくればいいのでしょうか?(しかしこれではワンテンポ遅くなりますよね?)
極論を言えば好きにすればいいのかもしれませんが、とにかく実装経験がゼロなので、ご経験から思いついたアドバイスを頂ければと思って質問させていただきました。
ちなみに、JavaScript ファイルは全てモジュールを使っています。
回答2件
あなたの回答
tips
プレビュー