【问题标题】:Clear Page Session State Using Javascript after call apex_server_process in Oracle Application Express (APEX)在 Oracle Application Express (APEX) 中调用 apex_server_process 后使用 Javascript 清除页面会话状态
【发布时间】:2020-05-29 08:34:23
【问题描述】:

Oracle 数据库版本 - 12.2

Oracle Apex 版本 - 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();

  }

}

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

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

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

【问题讨论】:

  • 正常流程是提交页面以创建用户。如果存在验证错误,它们将显示在表单页面上,供用户修复并重试。如果成功,用户将被重定向到显示成功消息的另一个页面。您已将处理更改为 Ajax,它不会在成功时执行重定向。你为什么这么做?您希望用户执行的流程是什么?
  • @Dan McGhan。我知道常规程序。但我不想重新加载页面或不想重定向另一个页面。我只想提交数据而不是整个页面。这就是我使用 apex.server 进程的原因。
  • 在我提供建议之前,我只是想更好地了解您在做什么以及您想要什么。为什么您不想提交页面或之后重定向?插入新记录后用户应该看到什么?
  • 用户将看到一条消息。该页面将准备好进行新的插入。

标签: javascript ajax oracle-apex


【解决方案1】:

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

在保存数据的过程之后:

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

恕我直言,我认为没有必要使用 JavaScript 清除缓存,但如果您仍然需要它的话。您可以执行window.location = 来清除managing session variables 文档中定义的页面、应用程序、会话变量

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-23
    • 2013-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多