以下のコードを実行すると外部のJSで
ReferenceError: Can't find variable: php
と言われてしまいます。どこが間違っていますか。
このPHP内にscriptを実行すると上手く行きますが長くなるので外部のJSのjQueryを実行したいです。
他にもinputにhiddenを設定し送る方法もあるようですが、外部ファイルのやり方が今実現したい機能でにおいては都合がいいので。。。。
ご教授お願いします
PHP
1<?php 2 3$word = "おはよう"; 4 5?> 6<!DOCTYPE html> 7<html lang="en" dir="ltr"> 8 9<head> 10 <meta charset="utf-8"> 11 <title>SeeHotels</title> 12 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> 13</head> 14 15<body> 16 <header> 17 </header> 18 19 <main> 20 <p>今日はいい天気ですね</p> 21 </main> 22 23 <footer> 24 </footer> 25 <script src="js/showhotels.js"> 26 var php = {word: "<?php echo $word; ?>"}; 27 </script> 28 29</body> 30</html> 31
参考:サイト
https://rimane-novels.net/php-for-js-945/
「追記」
回答ありがとうございます。現在のコードです
エラー
[Error] SyntaxError: Unexpected identifier 'word'. Expected '}' to end an object literal.
(anonymous関数) (sampke.php:23)
[Error] ReferenceError: Can't find variable: php
(anonymous関数) (showhotels.js:3)
j (jquery.min.js:2:26931)
fireWith (jquery.min.js:2:27740)
ready (jquery.min.js:2:29544)
I (jquery.min.js:2:29729)
PHP
1<?php 2 3$word = json_encode(['word' => 'おはよう'],JSON_HEX_QUOT | JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX_APOS); 4 5?> 6<!DOCTYPE html> 7<html lang="en" dir="ltr"> 8 9<head> 10 <meta charset="utf-8"> 11 <title>SeeHotels</title> 12 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> 13</head> 14 15<body> 16 <header> 17 </header> 18 19 <main> 20 <p>今日はいい天気ですね</p> 21 </main> 22 23 <footer> 24 </footer> 25 26</body> 27<script> 28 var php = {word: "<?php echo $word; ?>"}; 29</script> 30<script src="js/showhotels.js"></script> 31</html> 32
回答1件
あなたの回答
tips
プレビュー