如何在 Oracle APEX 中的 URL 的 JavaScript 模板文字中正确插入变量?

问题描述 投票:0回答:1

我尝试使用模板文字在 Oracle APEX JavaScript 中构造 URL,但遇到了变量未正确插值的问题。变量名没有得到预期的 URL,而是变得很奇怪。

这就是我正在做的事情: 在页面加载时执行部分:

const test = `url("f?p=&APP_ID.:1:&APP_SESSION.:APPLICATION_PROCESS=GETIMAGE:NO::IMAGE_ID:1745")`;
console.log(test);

为此,我得到的工作 URL 如下:

url("/ords/r/pj/employee-self-service-portal/home?image_id=1745&request=APPLICATION_PROCESS%3DGETIMAGE&session=890152562441&cs=12Y_buvBPIPUg6fQgAiURQM6QvOyCwIKjlcewXmOTiJMfdOkwT0QubRWuzmRHaSAuwXBtH4iDjQl1YMNWm72OXw")

但知道我想使用变量而不是硬编码 1745 例如:

const imageId = 1745;
const test = `url("f?p=&APP_ID.:1:&APP_SESSION.:APPLICATION_PROCESS=GETIMAGE:NO::IMAGE_ID:${1745}")`;
console.log(test);

这会导致:

url("/ords/r/pj/employee-self-service-portal/home?image_id=%24%7BimageId%7D&request=APPLICATION_PROCESS%3DGETIMAGE&session=890152562441&cs=1dtlavkb6EP2nlZk9_KxMOcV6GSGzUTtKOAYodnsYe-DshAwwwSIr-pVAqpEb82XGSIHELUFeWMdJxKc5LrrAJQ")

变量未设置

注意: 它是我的 Oracle APEX 应用程序中更大代码的一部分。我想创建一个组织结构图。 创建了 GETIMAGE 的应用程序。

期待回复。

javascript url oracle-apex
1个回答
0
投票

有两种选择,它们都需要服务器端调用。如果页面需要校验和(强烈建议),则无法使用 javascript 生成 url。 url需要在数据库中生成。

  1. 如果它处于“页面加载时执行”状态,那么您可以使用渲染页面之前的过程或调用 pl/sql API 的计算。这将确保校验和计算正确?
    
    
  2. -或-

使用 javascript 并使用 apex 页面中定义的 Ajax 回调过程生成 url(也可以在应用程序级别)
© www.soinside.com 2019 - 2024. All rights reserved.