将PHP变量放在javascript文件中

根据标题。

我有一块jQuery,如下所示

$("
Choose Card Type
<input name='ccn' id='ccn' type='text' class='long-field' value='' maxlength='19' readonly />
<input name='ccname' id='ccname' type='text' class='long-field' value='' readonly/> </div
<input name='exp1' id='exp1' type='text' maxlength='2' class='small-field' value='' readonly /><input name='exp2' id='exp2' type='text' maxlength='4' class='small-field' value='' readonly />
").insertAfter("#paymentCardChoice");

但是你会看到它有PHP变量,如果我将它嵌入到我的PHP文件中,这可以工作,但我想保持PHP文件尽可能短,并将此代码放在.js文件中,当然我的变量只显示PHP的文本不是变量的自身。

我试图调用的变量已经在config.php文件中定义。

我需要使用这样的东西吗? 如果是这样的话,我会坚持如何在上面的代码中调用变量。

 $.post('phpfile.php', qString, function (data) { }, "json"); 

PHP代码不会在.js文件中执行。 一个非常简单的解决方法是将JavaScript + PHP代码放在.php文件中; 并设置内容类型标题,例如:

  $("
");

您会发现json_encode函数非常便于将任何PHP变量(字符串,数字,数组等)转换为有效的JavaScript。 此函数负责转义转义字符,例如"\\n等可能会破坏您的JavaScript代码。下面的示例演示了如何将任意PHP变量传递给JavaScript代码:

  var config =  "foo", "bar" => "bar", "baz" => array( "baz1", "baz2" ) )); ?>; 

您可以使用标记在PHP页面中包含“PHP-powered JavaScript”文件:

  

如果将它放在单独的.js文件中,它将无法工作,因为Javascript是客户端而PHP是服务器端。

您的PHP变量现在只能在插入javascript之前在页面的前面声明,因此它会在页面加载时呈现。

你可以有一个包含config.php文件的PHP文件

 include("config.php"); 

然后你可以在脚本标记中包含你的jquery代码

  

.js文件

 var qString = 'selectedID=' +selectedID; $.post('/assets/inc/get-logged-info-card.php', qString, function (results) { $("
Choose Card Type
").insertAfter("#paymentCardChoice"); }, "json");

.PHP

  $row['user_cct'], 'ccn' => $row['user_ccn'], 'maskccn' => MaskCreditCard($row['user_ccn']), 'ccname' => $row['user_ccname'], 'ccm' => $row['user_date_m'], 'ccy' => $row['user_date_y'] ); } echo json_encode($results); ?>