正如标题所说的那样。我原本在我的index.php文件中有很多javascript,当我试图把它放在外部js文件中并加载它就像我用其他js文件一样,文件没有加载。当我在编辑器中查看js文件时,每次有php代码时都会显示错误。我该如何解决这个问题?
我已经尝试将其重命名为php文件但无法正常工作(我到处都有错误)。
我之所以拥有php代码的原因是因为有很多“if”语句可以检查有关登录用户的不同内容,例如<?php if (Auth::instance()->current_user()): ?>
。我还根据不同的事件添加和更新mysql表,例如单击按钮。
如果我在index.php文件中直接使用代码,那么一切正常。
当我从js文件中删除php时,外部文件在.js和.php格式中都有效(毫不奇怪)。
由于
答案 0 :(得分:1)
你想要做的是拥有没有任何php代码的js文件。
然后在php中,创建一个javascript,如下所示:
<html>
<head>
<script>
var env = {'current_user':JSON.parse(<?=json_encode(Auth::instance()->current_user())?>), 'foo':'bar'}
console.log(env); //remove this before deploying in production
</script>
</script type='text/javascript' src='yourscript.js'></script>
<!-- other scripts here -->
</head>
...
现在,您可以在所有脚本中使用全局env
变量来访问您的用户信息(请查看控制台以获取详细信息:F12 - 控制台选项卡,然后重新加载。)
在env.current_user
中,您将拥有所有用户信息。
请注意,您可能希望对其进行过滤,因为在此示例中,任何知识渊博的用户都可以在客户端访问其信息。