我正面临的问题;我似乎编码的Javascript里面

问题描述:

PHP变量将有一个问题, 我有一个Javascript代码,它包含PHP变量我正面临的问题;我似乎编码的Javascript里面

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

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

在试图编码这个,我能够编码部分的Javascript ,但它显示我的变量名(在这种情况下$名),而不是(任何)

+0

这当然是一个PHP文件里,作为.js文件不被PHP解析为默认值(你可以将它解析它们)。 – adeneo 2013-02-16 01:15:26

+0

试试这个:'title:'“。$ name。”'' – 2013-02-16 01:15:45

+2

你的PHP代码很好,但我不禁注意到Javascript并不是。 – Heap 2013-02-16 01:26:33

无论您何时在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); 
+0

+ 1为思考的框,好建议。 – Heap 2013-02-16 01:42:37

+0

这工作完美!谢谢 – 2013-02-16 01:44:19

这应该工作的价值,但这种尝试无论如何

title:'".$name."', 

title:'{$name}', 

由于您使用双引号,它应呈现PHP变量,单引号不会,但你没有使用这些。此外请确保逃避名称,因为如果它有单引号?它会打破你的JavaScript(除非它严格控制,你知道它不会有单引号)。

+0

他们都没有工作, 它返回:$ name而不是值 – 2013-02-16 01:17:04

+0

你确定php正在运行?用这个代码开始一个新页面,看看会发生什么。 当页面加载时,你看到一个很大的数字或代码吗? – Danny 2013-02-16 01:20:54

+0

Php的运行良好,因为相同的页面,容纳我所有的php连接器信息 – 2013-02-16 01:21:40