在一个模块中,前端是extjs,后端是php,报错,这是在php的错误警告开到最严格的时候报的错,虽然程序可以跑,可是日志堆积越来越多。
Undefined variable:loginUserName
Ext.onReady(function () {
var app = Ext.create("PSI.App", {
// userName: "{$loginUserName}",
productionName: "{$productionName}"
});
});
后端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 ?>里面的内容都要解析,
而这时在php页面里面这一行是注释了的:// $this->assign("loginUserName", "tom");
所以,前端页面解析的时候找不到$loginUserName,就报错了。
解决方法:
在js代码里面把这一行删掉就行了:// userName: "{$loginUserName}",
相关推荐: