在提供参数时使用JavaScript打开Oracle Apex URL

在提供参数时使用JavaScript打开Oracle Apex URL,javascript,oracle,oracle-apex,oracle-apex-5,Javascript,Oracle,Oracle Apex,Oracle Apex 5,当我使用javascripteval()从js打开apex url时,我这样使用eval()没有问题 eval("f?p=&APP_ID.:7:&SESSION."); eval("f?p=&APP_ID.:7:&`SESSION.:P7_ID:8461,P7_ALLOWCHANGE:1,P7_WFDEF_ID:69004.");` 但是当我想像这样用eval()传递参数时 eval("f?p=&APP_ID.:7:&SESSION.");

当我使用javascript
eval()
从js打开apex url时,我这样使用
eval()
没有问题

 eval("f?p=&APP_ID.:7:&SESSION.");
eval("f?p=&APP_ID.:7:&`SESSION.:P7_ID:8461,P7_ALLOWCHANGE:1,P7_WFDEF_ID:69004.");`
但是当我想像这样用
eval()
传递参数时

 eval("f?p=&APP_ID.:7:&SESSION.");
eval("f?p=&APP_ID.:7:&`SESSION.:P7_ID:8461,P7_ALLOWCHANGE:1,P7_WFDEF_ID:69004.");`
我得到这个错误:
SyntaxError:expected表达式,got':'

然后在生成url后自动添加这些参数

javascript:apex.navigation.dialog('f?p=101:7:28809985622510:::::\u0026p_dialog_cs=_7P7TVFV5LTQPjeyg-bGqSKpcYM',{title:'Workflow State',height:'auto',width:'720',maxWidth:'960',modal:true,dialog:null},'t-Dialog-page--standard '+'',this);:P7_ID:8461,P7_ALLOWCHANGE:1,P7_WFDEF_ID:69004.;

我该怎么办?

我不知道您的
eval
调用,但此APEX URL语法错误:

f?p=&APP_ID.:7:&`SESSION.:P7_ID:8461,P7_ALLOWCHANGE:1,P7_WFDEF_ID:69004.
所有项目名称应列在一起,然后所有值列在一起,并在正确的冒号分隔符后面:

f?p=&APP_ID.:7:&SESSION.::::P7_ID,P7_ALLOWCHANGE,P7_WFDEF_ID:8461,1,69004

我还删除了“SESSION”之前的假回勾字符。

除了Tony Andrews介绍的内容之外,您的URL还有一些问题: 1.这是应用程序会话-而不是会话。以下是有关的文档。 2.您的物品未被正确替换。阅读本文,了解更多关于APEX中替换的详细信息

给你

其次,这里是你要尝试的。创建一个隐藏页面项,并使用APEX_UTIL.PREPARE_URL函数生成有效的URL,分配给该项。并将该项用作javascript中的url。我还没有尝试过,但我认为这是一个更好的方法

还要准备如下url:

APEX|UTIL.PREPARE|URL('f?p='| |:APP|ID | |:APP|u SESSION |:::'| |:P7|ID:','| P7|允许更改| |','|:P7| WFDEF ID | |:8461,169004')

下面是了解apex url和如何传递变量的另一个重要资源:
最好的方法是使用apex\u page.get\u url 它比apex_util.prepare_url简单得多


ty它不起作用。那么我如何使用url中的pass参数从js调用apex中的模态对话框页面呢。确保遵循此格式。。您预先生成的URL不正确。