我尝试使用模板文字在 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。 url需要在数据库中生成。
使用 javascript 并使用 apex 页面中定义的 Ajax 回调过程生成 url(也可以在应用程序级别)