2

このコード行var $sTest = <?php echo $a = $_GET['ID']?>は、「Uncaught reference error: .. is not defined.」を返します。

この質問では、「ABC」という ID を渡していると仮定します。Chrome で開発者ツールを使用してリソースを調べると、変数値が表示されるため、$_GETが機能していることがわかります。この場合のエラー メッセージは、「Uncaught reference error: ABC is not defined.」です。

php 変数をスクリプト変数に割り当てる方法がわかりません。助けていただければ幸いです。

4

3 に答える 3

5

これは、php スクリプトの出力を引用する必要があるためです。

var $sTest = <?php echo $a = $_GET['ID']?>

になりました

var $sTest = something;

そしてあなたのJavascript環境でsomethingは は定義されていません。できるだけ多くの型情報を保持したい場合は、php 側でjson_encodeを次のように使用する必要があります。

var $sTest = <?php print json_encode($_GET['ID']);?>;
于 2012-07-26T12:46:10.443 に答える
0

最終的に生成されたソース コードをブラウザーで確認します。割り当ての周りに引用符がありません:

var $sTest = "<?php echo $a = $_GET['ID']?>";

htmlspecialchars()XSS 攻撃や文字列の抜け出しを防ぐために、文字列にも適用する必要があります。

var $sTest = "<?php echo $a = htmlspecialchars($_GET['ID']);?>";
于 2012-07-26T12:44:02.213 に答える
0

$a に割り当てずに $_GET をエコーし​​てみてください。

var $sTest = <?php echo $_GET['ID']?>
于 2012-07-26T12:44:10.220 に答える