php - 如何访问 require.js 异步加载的 Javascript 中的 URL 参数?

标签 php javascript html module requirejs

我正在使用 RequireJS 加载应用程序中的模块。我需要将在index.php 获得的URL 参数传递给主模块。我可以看到有几种方法可以做到这一点,但我更希望索引中唯一的东西本质上仍然是这样的:

<script type="text/javascript" data-main="scripts/main" src ="scripts/require-jquery.js"></script>

因为RequireJS说这样更有利于优化。我当前的解决方法是将原始 require 调用放入索引文件中,并使用那里的 URL 参数。有更好的办法吗?

作为引用,我在服务器端使用 PHP,如果这有帮助的话。

最佳答案

要将参数从 GET 传递到脚本,您有以下三个选项:

使用$_SESSION存储值并动态编辑主js文件。 这将导致巨大的开销并增加许多不必要的共谋(更多共谋=>更多错误)

添加此代码 http://www.onlineaspect.com/2009/06/10/reading-get-variables-with-javascript/ 到您的主模块以通过 javscript 检索参数。

使用 PHP 生成一个小型 Java 脚本(使用 $_GET)来设置值。 从理论上讲,这比其他选项更快。

选项 2 和 3 之间的速度不应有显着差异,因此只需选择符合您需求的选项即可。

如果主模块是经常更新的第三方组件,我会选择第三个选项,因为这样您就不必每次拉取新版本时都更改主模块。

如果您想设置基于用户的默认值,您应该坚持使用选项 3,以便更轻松地访问数据库和用户设置。

我希望这会有所帮助。

编辑: 如果您的主模块在加载所有脚本之前不需要该参数,您可以在额外的模块中使用选项 2 中的脚本来设置主模块中的值。这也可以解决更新问题。

关于php - 如何访问 require.js 异步加载的 Javascript 中的 URL 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8363646/

相关文章:

php - 使用 sqlite/php 获取两个不同行/列中两个数字的差异

php - 将大表格发布到 php 文件

javascript - x 轴上的条形位置

HTML:如何仅为特定类设置链接颜色

php - 使用 PDO 从数据库中动态选择

php - Laravel 不区分大小写的 orderBy

javascript - jQuery 中的“没有类”选择器。通过包含多个类的特定类名选择一个元素

javascript - 使用 gulp 缩小和连接( Angular )网络应用程序的完整工作流程

javascript - 在我的代码上换行时遇到问题

css - 流体设计图像无法正确缩放