Как использовать URL-адрес, сгенерированный из APEX_UTIL.PREPARE_URL, для открытия модального окна с помощью APEX.NAVIGATION.DIALOG
При нажатии кнопки необходимо открыть модальное диалоговое окно, в котором для защиты доступа к странице установлено значение "Аргументы должны иметь контрольную сумму".
При нажатии кнопки я следую 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"));
}});
Я генерирую URL-адрес с помощью APEX_UTIL.PREPARE_URL через процесс Ajax
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"));
}
});
Это дает ошибку ниже в модальном диалоге
введите описание изображения здесь
Любая помощь приветствуется.
1 ответ
Согласно вашему второму изображению, диалог, который вы пытаетесь открыть, требует контрольной суммы. Для этого вам нужно добавить второй параметр в apex_util.prepare_url. Посмотрите этот пример:
apex_util.prepare_url(p_url => 'f?p=801001:3:'||v('APP_SESSION')||'::NO:3::'
,p_checksum_type => 'SESSION');
Надеюсь, это поможет .. С уважением