分享一个js文件中嵌套php会出错的问题

前提:php

使用ThinkPHP。后台传一个变量到html页面:$this->assign("variable", $variable);html

问题:安全

在html页面中嵌套js代码,在js的代码中输出这个变量:测试

<script language="JavaScript">
    var variable =<?php echo $variable;?>;
    alert(variable);
    //这样是能够正常输出的
</script>

 

 

将上面的代码迁移到js文件variable.js中,再在该html页面引入这个js文件,这时候就会出错,不可是输出不来,仍是形成js错误,js代码都运行不了。this

个人解决方法是:code

  1. 写隐藏标签<input type="hidden" id="variable" value="{$variable}"/><!--对!我没有修改定界符-->htm

    再在js中获取该元素的值ip

  2. 若是你有使用jq的话,你能够在标签中添加属性:input

    <div data-value="{$variable}">我是div</div>后台

        js: var variable =$("div").attr("data-value");

上面两种方法都有个缺陷,就是variabe都是可见的,只要别人“审查元素”就能看见你的variable是什么,是保密的数据就不建议这样作了。

 

追加:刚刚利用审查元素测试了,以下所说,是能够就算放在js里也是会输出variable的,确实没有安全性的说法。

相关文章
相关标签/搜索