在 Oracle Application Express (APEX) 中调用 apex_server_process



Oracle 数据库版本 - 12.2

甲骨文顶级版本 - 19.2

我在页面级别有一个 ajax 调用 pl/sql 进程。 我创建了一个 JavaScript 函数来调用apex.server_process

如下所示
function SaveUser() {
apex.server.process("USER_CREATION", {
// p_clob_01:clob,
pageItems: "#P225_USER_CODE,#P225_USER_NAME,#P225_USER_TYPE,#P225_USER_DOB,#P225_MOBILE_NO,#P225_TELE_NO,#P225_EMAIL_ID,#P225_RESTRICT_FROM_DT,#P225_RESTRICT_TO_DT,#P225_PWD_DATE,#P225_FINGER,#P225_PASSWORD_EXP_DAY,#P225_ROLE_SCOPE,#P225_BRANCH,#P225_USER_ID" /*List of the items that are used in your process */
}, {
success: function(pData) {
if (pData.success === true) {
apex.message.showPageSuccess(pData.message);
} else {
apex.message.clearErrors();
apex.message.showErrors([{
type: "error",
location: "page",
message:pData.message,
unsafe: false
}]);
}

}
});
lSpinner$.remove();
}
}

它的工作很好。但是当我提交过程时,它会将数据保存到数据库中。如果我再次提交,它会使用相同的数据调用进程。它保存会话状态值。

如何在不再次提交页面的情况下清除会话状态和清除页面以进行 pl/sql 清除缓存。是调用Apex.server_process后清除缓存页面的任何 Javascript API。

如果您有任何想法,请提供帮助。

您可以在保存数据的同一过程中实现此目的

保存数据的过程之后:

  • 创建清除会话变量的新进程
  • (可选(添加服务器端条件,以便它仅在需要时运行。
  • (可选(添加成功和错误消息以确认代码是否有效。

恕我直言,我认为使用 JavaScript 清除缓存没有任何意义,但如果您真的仍然需要它。您可以执行window.location =来清除用于管理会话变量的文档中所定义的页面、应用程序和会话变量

最新更新