问题i';m朝向;Javascript编码中包含php变量


Issue i'm facing ; Javascript encode with php variables inside

我似乎遇到了问题,我有一个Javascript代码,它包含php变量

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

在尝试对其进行编码时,我可以对Javascript部分进行编码,但它显示的是我的变量名(在本例中为$name),而不是值(无论是什么)

当您像这样在PHP和JS之间传输信息时,请使用json_encode。1) 你知道你正在构建一个合适的JavaScript结构(在你的代码中,你没有……你关闭了两次数组),并且2)你可以防止转义问题。尝试:

<?php
$name = 'whatever';
$mp3 = '/link/to/track';
$json = array(array('mp3' => $mp3, 'title' => $name));
print "var myPlaylist = " . json_encode($json);

这应该有效,但无论如何都要尝试

title:'".$name."',

title:'{$name}',

由于您使用了双引号,所以它应该呈现php变量,单引号不会,但您没有使用这些。还要确保对名称进行转义,因为如果其中有一个引号怎么办?它会破坏你的javascript(除非它受到严格控制,而且你知道它不会有一个引号)。