gpt4 book ai didi

javascript - 外部 javascript 文件中的 PHP 导致它无法加载

转载 作者:行者123 更新时间:2023-11-30 05:36:56 26 4
gpt4 key购买 nike

正如标题所言。我的 index.php 文件中最初有很多 javascript,当我试图将它放入外部 js 文件并像加载其他 js 文件一样加载它时,该文件没有加载。当我在编辑器中查看 js 文件时,每次出现 php 代码时都会显示错误。我该如何解决这个问题?

  1. 我已尝试将其重命名为 php 文件,但没有成功(我到处都遇到错误)。

  2. 我之所以有 php 代码,是因为有很多“if”语句检查有关登录用户的不同内容,例如<?php if (Auth::instance()->current_user()): ?> .我还根据不同的事件添加和更新 mysql 表,例如点击一个按钮。

  3. 如果我直接在 index.php 文件的标签中添加代码,一切正常。

  4. 当我从 js 文件中删除 php 时,外部文件可以以 .js 和 .php 形式工作(这并不奇怪)。

谢谢

最佳答案

你想要做的是拥有不含任何 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 中,您将拥有所有用户信息。

请注意,您可能需要对其进行过滤,因为在此示例中,任何已知用户都可以在客户端访问其信息。

关于javascript - 外部 javascript 文件中的 PHP 导致它无法加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23122188/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com