在一个模块中,前端是extjs,后端是php,报错,这是在php的错误警告开到最严格的时候报的错,虽然程序可以跑,可是日志堆积越来越多。
<span style="color:rgb(0,0,0); font-family:Consolas, Inconsolata, Courier, monospace;font-size:12px; background-color:rgb(255,255,255);">Undefined variable:loginUserName </span>
<script> Ext.onReady(function () { var app = Ext.create("PSI.App", { // userName: "{$loginUserName}", productionName: "{$productionName}" }); }); </script>
后端php:
/** * 业务日志 - 主页面 */ public function index() { $us = new UserService(); if ($us->hasPermission(FIdConst::USE_ORDER)) { $this->initVar(); // $this->assign("loginUserName", "tom"); $this->display(); } else { $this->gotoLoginPage("/Home/"); } }
前后端我都把loginUserName注释掉了,为什么还报错呢?
追到thinkphp的页面缓存里面才发现
js里面这一行:
// userName: "{$loginUserName}",
对应缓存php代码里这一行:
// userName: "<?php echo ( $loginUserName); ?>",
虽然js里面是注释了,但php代码里面这时候是管不了那么多的,只要是里面的内容都要解析,
而这时在php页面里面这一行是注释了的:
// $this->assign("loginUserName", "tom");
所以,前端页面解析的时候找不到$loginUserName,就报错了。
解决方法:
在js代码里面把这一行删掉就行了:
// userName: "{$loginUserName}",
相关推荐:
在php模版文件和html文件中引入js,css文件错误解决
以上是如何解决js里面的php代码报错问题的详细内容。更多信息请关注PHP中文网其他相关文章!