0

問題が発生しているようです。Javascriptコードがあり、php変数が含まれています。

<?php   // Database information 
$name="whatever"; 

$mp3 = "Link/to/track/";
echo "
var myPlaylist = [{
    mp3:'mix/4.mp3',
    title:'$name',
}]]; </script>";

これをエンコードしようとすると、Javascript部分をエンコードできますが、値(何でも)の代わりに変数名(この場合は$ name)が表示されます

4

2 に答える 2

2

このようにPHPとJSの間で情報を転送する場合は、常に。を使用してjson_encodeください。1)適切なJavaScript構造を構築していることを知っています(コードでは、配列を2回閉じているわけではありません)。2)エスケープの問題から保護します。試す:

<?php
$name = 'whatever';
$mp3 = '/link/to/track';

$json = array(array('mp3' => $mp3, 'title' => $name));
print "var myPlaylist = " . json_encode($json);
于 2013-02-16T01:36:20.257 に答える
0

それはうまくいくはずですが、とにかくこれを試してください

title:'".$name."',

また

title:'{$name}',

二重引用符を使用したので、php変数をレンダリングする必要がありますが、一重引用符は使用しませんが、それらは使用していません。また、名前に一重引用符が含まれている場合はどうなるので、必ず名前をエスケープしてください。それはあなたのjavascriptを壊します(厳密に制御されていて、事実のために一重引用符が含まれていないことを知っている場合を除きます)。

于 2013-02-16T01:14:46.140 に答える