0

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 后是否为清除缓存页面的任何 Javascript API。

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

4

1 回答 1

0

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

在保存数据的过程之后:

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

恕我直言,我看不出用 JavaScript 清除缓存的意义,但如果你真的仍然需要它的话。您可以清除管理会话变量window.location =的文档中定义的页面、应用程序、会话变量

于 2021-04-01T12:02:12.363 回答