質問: 以下のようにphp側でトークンを生成して、JSに渡すために ajaxのローカルスコープ内からグローバルスコープのtokenを使用(アクセス)することが できません。jsファイルが外部にあるため、index.php内で変数にphpから値を生成して、 token変数を渡したいのですが、方法があればご教示ください。 ``` //index.php
回答: 原因はletで宣言しているからです。 ES6(ES2015)でグローバルに定義したlet,const,classはグローバルオブジェクトのプロパティにならない - Qiita 質問文をシンプルに解決するならば、letではなくvarで変数を宣言するだけで解決します。 しかし思想的には「varでやれ」ではなく、「そもそもそんな使い方すんな」という話ですね。 PHP側でトークン番号をJSONで返すエンドポイントを用意して、 それに向けてAjax通信を飛ばして受け取る構造にしたほうがスッキリするでしょう。