php - 将 PHP 变量放入 javascript 文件中

标签 php javascript jquery

如标题所示。

我有一段 jQuery,如下所示

$("<div class='creditCardDetails' id='usercurrentccbox'>
    <div class='creditCard'>
    <div class='cardChoice'>
    <span>Choose Card Type</span>
    <input name='cctype' type='radio' value='V' class='lft-field' id='visa' />
    <label for='visa'></label>
    <input name='cctype' type='radio' value='M' class='lft-field' id='mastercard' />
    <label for='mastercard'></label><input name='cctype' type='radio' value='A' class='lft-field' id='amex' />
    <label for='amex'></label>
    </div>
    <!--cardChoice-->
    <div class='cardNumber'>
    <input name='ccn' id='ccn' type='text' class='long-field' value='<?php echo MaskCreditCard($loggedInfo[ccn]);?>' maxlength='19' readonly />
    </div>
    <div class='cardCVV'>
    <input name='cvv' id='cvv' type='text' maxlength='5' class='small-field' />
    </div>
    <div class='creditCardName'>
    <input name='ccname' id='ccname' type='text' class='long-field' value='<?php echo $loggedInfo[ccname];?>' readonly/>
    </div
    <div class='cardDate'>
    <input name='exp1' id='exp1' type='text' maxlength='2' class='small-field' value='<?php echo $loggedInfo[ccm];?>' readonly /><input name='exp2' id='exp2' type='text' maxlength='4' class='small-field' value='<?php echo $loggedInfo[ccy];?>' readonly />
    </div>
    </div><!--creditCard-->").insertAfter("#paymentCardChoice");

但是正如您所看到的,它有 PHP 变量,如果我将其嵌入到我的 PHP 文件中,这可以工作,但我想使 PHP 文件尽可能短,并将此代码放入 .js 文件中,当然我的变量只显示 PHP 的文本,而不显示变量本身。

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

我需要使用这样的东西吗?如果是这样,我就无法理解如何调用上面代码中的变量。

$.post('phpfile.php', qString, function (data) {

}, "json"); 

最佳答案

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

<?php
    #
    # script.js.php
    #
    header("Content-type: text/javascript");
?>
$("<div><?php echo $foo; ?></div>");

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

<?php
    #
    # script.js.php
    #
    header("Content-type: text/javascript");
?>
var config = <?php echo json_encode(array(
   "foo" => "foo",
   "bar" => "bar",
   "baz" => array(
       "baz1",
       "baz2"
   )
)); ?>;

您可以使用 <script src> 在 PHP 页面中包含“PHP 支持的 JavaScript”文件标签:

<script type="text/javascript" src="script.js.php"></script>

关于php - 将 PHP 变量放入 javascript 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11206599/

相关文章:

javascript - DotNet Highcharts-我可以在页面加载后将整个图表分配给 JS var,以便进一步操作

javascript - 使用 :nth-child() selector and . get() 方法之间的性能差异?

php - 如果我对文件夹具有写权限,如何在 PHP 中确定

php - fatal error : Uncaught PDOException: SQLSTATE[42S22]: Column not found

javascript - 向同一个文件发送多个 ajax 调用

javascript - 通过 d3 v5 Promise 加载时如何引用第二个数据集中的数据?

PHP - 在类中定义常量

php - MySQL 选择时间戳在 X 时间之后的条目

javascript - 如何将包含字段的元素添加到数组

javascript - jQuery 出现函数