<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 ?>里面的内容都要解析,
而这时在php页面里面这一行是注释了的:
// $this->assign("loginusername", "tom");
所以,前端页面解析的时候找不到$loginusername,就报错了。
解决方法:
在js代码里面把这一行删掉就行了:
// username: "{$loginusername}",
相关推荐:
php中利用js弹出错误信息乱码
在php模版文件和html文件中引入js,css文件错误解决
以上就是如何解决js里面的php代码报错问题的详细内容。
