在Oracle Application Express(apex)中调用apex_服务器_进程后使用Javascript清除页面会话状态
Oracle数据库版本-12.2 Oracle Apex版本-19.2 我有一个页面级的Ajax调用Pl/Sql过程。我创建了一个javascript函数来调用apex.server_进程,如下所示在Oracle Application Express(apex)中调用apex_服务器_进程后使用Javascript清除页面会话状态,javascript,ajax,oracle-apex,Javascript,Ajax,Oracle Apex,Oracle数据库版本-12.2 Oracle Apex版本-19.2 我有一个页面级的Ajax调用Pl/Sql过程。我创建了一个javascript函数来调用apex.server_进程,如下所示 function SaveUser() { apex.server.process("USER_CREATION", { // p_clob_01:clob, pageItems: "#P225_USER_CODE,#P225_USER_NAME,#P225
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\u进程后清除缓存页面的任何Javascript API
如果您有任何想法,请提供帮助。您可以在保存数据的相同过程中实现这一点 在保存数据的过程之后:
- 创建一个清除会话变量的新进程
- (可选)添加服务器端条件,使其仅在需要时运行
- (可选)添加成功和错误消息以确认您的代码工作正常
我不认为用JavaScript清除缓存有什么意义,但是如果你真的还需要的话。您可以执行
window.location=
来清除文档中定义的页面、应用程序、会话变量,正常流程是提交页面以创建用户。如果存在验证错误,它们将显示在表单页面上,供用户修复并重试。如果成功,用户将被重定向到另一个显示成功消息的页面。您已经将处理更改为Ajax,Ajax不会在成功时执行重定向。你为什么这么做?你希望用户做什么?@Dan McGhan。我知道日常生活。但我不想重新加载页面或重定向其他页面。我只想提交数据,而不是整个页面。这就是我使用apex.server进程的原因。我只是想在提供建议之前,更好地了解您正在做什么以及您想要什么。为什么你不想提交网页或重定向后?插入新记录后,用户应该看到什么?用户将看到一条消息。页面将准备好进行新的插入。