将PHP变量传递给Javascript脚本

时间:2016-02-08 20:30:56

标签: javascript php

我是javascript的新手。在提出这个问题之前,我经历了将varialbe从PHP传递到js的明显步骤。我可以将php var传递给js var并使用window.alert轻松输出,变量确实显示在那里。但我必须尝试将其放入一种不是最简单的脚本中。我使用的脚本实际上是一个显示菜单的单平台脚本。

<script type="text/javascript" src="http://menus.singleplatform.co/businesses/storefront/?apiKey=ke09z8icq4xu8uiiccighy1bw"></script>
<script>
    var options = {};
    options['PrimaryBackgroundColor'] = '#d9d9d9';
    options['MenuDescBackgroundColor'] = '#d9d9d9';
    options['SectionTitleBackgroundColor'] = '#f1f1f1';
    options['SectionDescBackgroundColor'] = '#f1f1f1';
    options['ItemBackgroundColor'] = '#ffffff';
    options['PrimaryFontFamily'] = 'Roboto';
    options['BaseFontSize'] = '15px';
    options['FontCasing'] = 'Default';
    options['PrimaryFontColor'] = '#000000';
    options['MenuDescFontColor'] = '#000000';
    options['SectionTitleFontColor'] = '#555555';
    options['SectionDescFontColor'] = '#555555';
    options['ItemTitleFontColor'] = '#555555';
    options['FeedbackFontColor'] = '#555555';
    options['ItemDescFontColor'] = '#555555';
    options['ItemPriceFontColor'] = '#555555';
    options['HideDisplayOptionPhotos'] = 'true';
    options['HideDisplayOptionDisclaimer'] = 'true';
    options['MenuTemplate'] = '2';
    //options['MenuDropDownBackgroundColor'] = '#f1f1f1';
    options['MenuIframe'] = 'false';
    new BusinessView("restaurantName", "menusContainer", options);
</script>
<script type="application/javascript">
    $(document).ready(function() {
        var interval = setInterval(function() {
            if ($('#sp_main').length > 0) {
                $('#menusContainer').after('<div class="more-link-container"><a class="more" >More&nbsp;<i class="fa fa-caret-down"></i></a><a class="less">Less&nbsp;<i class="fa fa-caret-up"></i></a></div>');
                $('.more-link-container .less').hide();
                clearInterval(interval);
            }
        }, 50);
    });
</script>

我必须在第一个主要脚本的末尾切换出新BusinessView "restaurantName"中显示的文本。

该值来自使用PHP的$ _POST,我需要将该值放入该部分。我尝试直接在该行中打印出js var并且它会中断。我尝试使用php回显php变量并且它中断了。我应该重做这个代码,以便将一个变量传递给这个javascript类(我假设它是一个类吗?我太过新了,因为JS很聪明)。任何帮助将不胜感激。

所以这就是我所做的:

我创建了一个简单的js var到php var和窗口警告到屏幕。这按预期工作:

<script type="text/javascript">
rest_singlemenujs = <?php echo json_encode($rest_singlemenu); ?>;
window.alert(rest_singlemenujs);
</script>

当我更新脚本以显示此内容时:

new BusinessView("rest_singlemenujs", "menusContainer", options);

它只显示我输入的文本而不是实际传递变量。所以下一步可能应该是整个字符串,变量位于中间,所以我这样做:

document.write("new BusinessView("' + rest_singlemenujs + '", "menuContainer", options);";

这只会阻止脚本在新的BusinessView上执行(“

然后我在var名称周围用()尝试这一行但是没有传递var:

new BusinessView("(rest_singlemenujs)", "menusContainer", options);

0 个答案:

没有答案