- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我通过 URL 传递参数并且页面被正确重定向。如何访问下一个(重定向的)页面上(从上一页)传递并在 URL 中可用的参数?谁能告诉我该怎么做?
或者有没有其他的方式在页面之间传递参数?
是否有类似 Angular 广播事件的选项可用?
我不想使用全局页面选项。
最佳答案
Is there any option available similar to broadcast event from Angular?
不是真的。虽然您可以使用 APEX 做到这一点,但它可能有点矫枉过正。 Angular 是一个执行客户端渲染的 SPA 框架,而 APEX 主要执行服务器端渲染。如果您来自 Angular 世界,您将不得不重新考虑一些事情。
How do I access the parameters on the next (redirected) page that were passed (from previous page) and available in the URL?
第一个问题是:您是否尝试使用 JavaScript 或 SQL & PL/SQL 访问这些值?我会回答这两个问题,但首先我会退后一步解释 session state在顶点。以下内容过于简单,但应该有助于您了解幕后发生的事情。
请记住,APEX 引擎是 Oracle 数据库中的一个模式,其中包含许多表(主要用于存储应用程序元数据)、包(用于业务逻辑和 HTML 生成)和其他数据库对象。在这些表中有一些用于存储“ session 状态”。将两个主表视为 SESSIONS 和 SESSION_DATA。 SESSIONS 将具有 session 的唯一标识符、用户名等。SESSION_DATA 将具有一个指向 SESSIONS 表的 SESSION 列、一个 ITEM_NAME 列和一个 ITEM_VALUE 列。
假设您转到以下 URL: https://yourdomain.com/apex/f?p=101:1:12690960447054
APEX 引擎将获取 URL 的“p”参数并将其解析为 up to 9 values :
在上面的 URL 中,只指定了其中三个值,因此 APEX 引擎为 session 12690960447054 的应用程序 101 中的页面 1 生成 HTML。
但是如果您使用以下 URL 会怎样: https://yourdomain.com/apex/f?p=101:1:12690960447054::::P1_ITEM_NAME:Dan
在这种情况下,APEX 引擎将在生成 HTML 之前更新 SESSION_DATA 表中的 session 状态。它会将 ITEM_VALUE 列设置为“Dan”,其中 SESSION 为 12690960447054,ITEM_NAME 为“P1_ITEM_NAME”。
这就是当您通过 URL 设置 session 状态时技术上发生的事情。当您准备好了解有关 session 状态的更多信息时,请查看 this old but still relevant post来自安东尼尔森。现在让我们继续讨论有关访问 session 状态的问题...
SQL 和 PL/SQL
一旦 APEX 设置了 session 状态,它就会继续生成 HTML。假设您在页面上有一个报告区域,其中包含以下查询:
select col1, col2, col3
from some_table
where col4 = :P1_ITEM_NAME
APEX 引擎将识别查询中的绑定(bind)变量,并根据 session 从 SESSION_DATA 表中提供正确的值。坦率地说,您可以从任何页面访问项目的值,也可以访问应用程序项目,因为此时我们在服务器端,这真的没有什么区别。话虽如此,最佳做法是仅引用当前页面中的页面项目。
有关访问 session 状态服务器端的更多方法,请参阅“引用项目值”: https://docs.oracle.com/en/database/oracle/application-express/19.1/htmdb/understanding-page-level-items.html#GUID-207E66F9-C8A6-4FD1-B2F4-12D4BB302D31
JavaScript
生成 HTML 后,会将其发送到浏览器以进行呈现。为了让 JavaScript 在不使用 Ajax 的情况下访问 session 状态中的值(您应该尽量避免使用 Ajax),这些值必须已经到达 DOM。如果在页面上呈现 P1_ITEM_NAME,则其值应为“Dan”。您可以使用原始 JavaScript 获取此值:
document.getElementById('P1_ITEM_NAME').value
或 jQuery:
$('#P1_ITEM_NAME').val()
不过,最好使用APEX specific JavaScript APIs了解 APEX 如何处理复选框和单选按钮组等内容。例如,您可以使用:
$v('P1_ITEM_NAME')
或者你可以使用:
apex.item('P1_ITEM_NAME').getValue()
请记住,如果该项目没有进入 DOM,比如因为它属于另一个页面或因为某个条件,那么您将无法在 JavaScript 中访问它。
关于parameter-passing - 甲骨文顶点 : Accessing params passed through URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58400968/
我经常看到这个,但我一直不明白。为什么这么多函数在函数定义中有这些嵌套的括号和奇怪的逗号? 有点像 function name(param, param param) 对我来说有意义,或者 funct
为什么参数输入有两种不同的格式?除了个人品味之外,还有其他好处吗? 例如,我正在使用它,因为那是我第一次阅读有关Powershell的文档时所看到的 function MyAwesomeFunctio
当我转到角色 Controller 时,显示操作,所有正常的 params[:id] 都是根据 REST 应该如何。 在显示 View 中,我渲染了部分。在该部分中,我有一个指向 vote_socio
我正在尝试在我的 Express 应用程序中使用 Sequelize 获取数据,并使用 MSSQL 获取数据库。这是我的代码: getInstitution: function (req, res)
从 ASP.NET 中的代码隐藏访问表单或查询字符串值时,使用的优缺点是什么,例如: // short way string p = Request["param"]; 代替: // long way
这个问题已经有答案了: 已关闭11 年前。 Possible Duplicate: What is it called when you use object… as a parameter? 我在
在代码示例中,我看到了以下代码: SomeClass.Columns(columns => { columns.Add() .Text("Product")
我是 PySpark 的初学者。我在 PySpark 中使用 FPgrowth 计算关联。我按照以下步骤操作。 数据示例 from pyspark.sql.session import SparkSe
我想记录一个类,我在 PyCharm 中看到当自动添加文档字符串时它会添加 :param param_name1: :param param_name2: 不过,我看到有人用 @param param
我正在为一个网站设计 Android 客户端。所以我必须实现很多不同的网络操作。例如用户授权或在服务器上搜索。为此,我必须向 REST Web 服务器发送带有一些参数和 URL 的 JSON 请求。因
我对 Jersey 和 Grizzly 有疑问。这个问题可能非常基本,但我正在努力解决它。我的想法是,我正在创建一个需要存储书籍的练习应用程序。一切似乎都很好,但并没有按预期进行。这是源代码: @Pa
假设我有一个带有虚方法的接口(interface),但参数之一是: virtual void Delete(ParentClass *parentClass) = 0; 如果我稍后在子类中实现它 vo
需要一些 Python 语法方面的帮助 伪代码 if param is not None in params, param replace('xx', 'x') 我走到这一步了: param.repl
我刚开始使用 JSDocs,找不到这个问题的答案。 假设我想写这个简单的函数: function hasQ(array, item) {return array.includes(item);} 对于
我对doInBackground(Params...params)中的参数语法不熟悉 这种东西叫什么,我该如何使用它? 最佳答案 正如 devA 和 VVV 所说,这就是所谓的“可变参数”。实际上,以
我很难在两个 perl 模块之间做出选择——Params::Validate 和 Params::Check。 我正在编写一个应该易于分发的 Mojolicious 应用程序。 一般来说,我的意思是在
这个问题已经有答案了: What does [param: NotNull] mean in C#? (2 个回答) 已关闭 7 年前。 我发现了以下属性声明。 [param: Marsha
我正在阅读有关 $params 的 CakePHP 手册,并且想知道每个参数的适当用法是什么?我知道返回的数组略有不同(“url”实际上有一个名为“url”的数组键,它返回 Controller /操
我见过处理 *param1 和 ¶m2 的 C 函数调用 func1(*param1); func2(¶m2); 我知道 * 和 & 必须与指针相关。那么这两种不同的方式有
特别是,为什么对 *param 这样的参数的更改不会传播回函数的调用者,但对 **param 这样的参数的更改却会传播回来? 最佳答案 在这两种情况下,更改都会被传播,但这取决于调用函数。 请参阅下面
我是一名优秀的程序员,十分优秀!