Oracle apex 如何使用从APEX_UTIL.PREPARE_URL生成的URL使用APEX.NAVIGATION.DIALOG打开模式

Oracle apex 如何使用从APEX_UTIL.PREPARE_URL生成的URL使用APEX.NAVIGATION.DIALOG打开模式,oracle-apex,oracle-apex-19.1,Oracle Apex,Oracle Apex 19.1,单击按钮时,必须打开一个模式对话框,其中页面访问保护设置为“参数必须具有校验和” 按一下按钮,我有以下DA apex.server.process("checksum",{x01:28440,x02:261,x03:1},{dataType:"text",success:function(pData){ apex.navigation.dialog(pData, { height:'674',

单击按钮时,必须打开一个模式对话框,其中页面访问保护设置为“参数必须具有校验和”

按一下按钮,我有以下DA

apex.server.process("checksum",{x01:28440,x02:261,x03:1},{dataType:"text",success:function(pData){

    apex.navigation.dialog(pData, { 
                                     height:'674', 
                                     width:'550', 
                                     maxWidth:'960',
                                     modal:true,
                                     dialog:null, 
                                     resizable:true,
                                     minHeight:'500'
                                     },
                                     't-Dialog-page--standard',
                                     $("body"));  
}});
我使用APEX_UTIL.PREPARE_URL通过Ajax过程生成URL

htp.p(apex_util.prepare_url('f?p='||apex_application.g_x01||':'||apex_application.g_x02||':'||:APP_SESSION||'::NO::P261_ID:'||apex_application.g_x03));
窗户永远不会打开。我在控制台中得到一个错误

但是,当使用eval打开窗口时,它工作正常

我还尝试提取校验和并将其附加到url,然后使用apex.navigation.dialog,如下所示

    var url = 'f?p=28440:2681:&APP_SESSION.::NO::P2681_ID:1';
    apex.server.process("checksum", { x01: 28440, x02: 2681, x03: 1 }, {
    dataType: "text", success: function (pData) {
        console.log(pData);  //p_dialog_cs=oq5VvyL4Xw6lgHA6szuJNIEkxHtPxvtWLWNAG- yuntSw2ULjT04BDN65sNIN1o_rtRszjFylOiCEiOppQryhmw
        apex.navigation.dialog(url + ",&" + pData, {
            height: '674',
            width: '550',
            maxWidth: '960',
            modal: true,
            dialog: null,
            resizable: true,
            minHeight: '500'
        },
            't-Dialog-page--standard',
            $("body"));

    }
    });
它给出了模态对话框中的以下错误


非常感谢您的帮助。

根据您的第二张图片,您试图打开的对话框需要校验和。为此,您需要在apex_util.prepare_url上添加第二个参数。检查此示例:

apex_util.prepare_url(p_url => 'f?p=801001:3:'||v('APP_SESSION')||'::NO:3::'
                      ,p_checksum_type => 'SESSION');

希望能有帮助。。关于

根据第二张图像,您试图打开的对话框需要校验和。为此,您需要在apex_util.prepare_url上添加第二个参数。检查此示例:

apex_util.prepare_url(p_url => 'f?p=801001:3:'||v('APP_SESSION')||'::NO:3::'
                      ,p_checksum_type => 'SESSION');

希望能有帮助。。关于

如果eval有效,那么有什么问题?请看我的回答:注意,我创建了一个新函数,而不是使用eval,但基本上是一样的。如果eval有效,那么问题是什么?请注意,我创建了一个新函数,而不是使用eval,但基本上是一样的。