LoginSignup
1
0

More than 3 years have passed since last update.

ローカルのjsonデータをphpからjavascriptに渡すときのSyntaxError解決策

Posted at

javascriptでテスト用のjsonデータをローカルから読み込む必要があったのですが、ajaxを使用してローカルファイルを読み込もうとすると、クロスドメインによるエラーが発生します。
参考リンク:JavaScript のクロス ドメイン (Cross-Domain) 問題の回避と諸注意

そこで、一旦phpでjsonデータを読み込んでからjavascriptに渡そうとしたのですが、今度は、
「Uncaught SyntaxError: '' string literal contains an unescaped line break」
が発生しました。

どうやら、テストデータを作成するときに、最終行に改行が入っていたみたいです。
phpのrtrim関数を使用して除去したところ、うまくいきました。
参考リンク:phpマニュアル "rtrim"

json_php2script.php
<?php
        $url="data.json";//読み込むjsonファイルを指定
        $json_php = file_get_contents($url);//jsonデータの読み込み
        $json_php = rtrim($json_php);//rtrimで改行を除去
?>
<script>
let json = JSON.parse('<?php echo $json_php; ?>');//phpからjavascriptへjsonを渡す
</script>
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0