powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Обработка переданных POST-переменных
23 сообщений из 23, страница 1 из 1
Обработка переданных POST-переменных
    #36253100
BorgunI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Собственно кто-нибудь сталкивался как можно в Апексе вытащить переменные, передаваемые методом POST?
...
Рейтинг: 0 / 0
Обработка переданных POST-переменных
    #36253313
BorgunI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поясню зачем оно мне. Клиентское приложение будет обращаться к апексу за xmlиной в таблице. Нужно передавать параметр, определяющий какую конкретно xml нужно забирать.

Как выбирать и возвращать уже сделал, теперь осталось нормально параметры в апекс передавать. Через URL передача не подходит по многим причинам, в том числе из-за количества и значения передаваемых параметров (http://<server>/folder/...).

Вот, если кто сталкивался, отпишитесь плиз...
...
Рейтинг: 0 / 0
Обработка переданных POST-переменных
    #36254508
kvad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
"выбирать и возвращать" в виде Application Process или в области Page Processing?

В Application Process передать можно через:

1) Application Items - стандартный способ;

2) набор следующих переменных (определены в пакете apex_application, имена соответствующих параметров - без "g_"):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
    g_widget_name   varchar2( 255 );
    g_widget_mod    varchar2( 255 );
    g_widget_action  varchar2( 255 );
    g_widget_action_mod  varchar2( 255 );
    g_widget_num_return  varchar2( 255 );
    g_x01   varchar2( 32767 );
    g_x02   varchar2( 32767 );
    g_x03   varchar2( 32767 );
    g_x04   varchar2( 32767 );
    g_x05   varchar2( 32767 );
    g_x06   varchar2( 32767 );
    g_x07   varchar2( 32767 );
    g_x08   varchar2( 32767 );
    g_x09   varchar2( 32767 );
    g_x10   varchar2( 32767 );
    g_clob_01   clob;
3) набор массивов (таблиц) типа wwv_flow_global.vc_arr2 (определены также в apex_application)
g_f01 .. g_f20 (только до 20!)
описание использования в application processes g_fNN вроде как нигде в официальных источниках не встречал, но, тем не менее, работает (но 1-е 20 только).

При оформлении вызова htmldb_Get параметры устанавливаются ч-з вызов метода add, например,
Код: plaintext
1.
2.
get.add('APPLICATION_ITEM_1', 'qwerty');
get.add('x07', 'asdf');
get.add('f08', 'f08_value');
Если надо передать подготовленный js-массив строк ч-з fNN, можно воспользоваться функцией AddArray:
Код: plaintext
get.AddArray(c03,  3 ); // значения элементов массива с03 передадутся в табл. apex_application.g_f03
...
Рейтинг: 0 / 0
Обработка переданных POST-переменных
    #36254512
kvad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С передачей xNN и fNN наврал. Используется addParam:
Код: plaintext
1.
get.addParam('x07', 'asdf');
get.addParam('f08', 'f08_value');
...
Рейтинг: 0 / 0
Обработка переданных POST-переменных
    #36257512
BorgunI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Изначально думал в области Page Processing. Про Application Process услышал впервые :), и этот вариант подходил больше.

А подходи потому что решил передавать пост-параметры через DAD :). Уж больно время поджимало. Для тех кто с этим столкнется: делается это через соответствие названия (name) передаваемых параметров пост, и наименование параметров вызываемой хранимой процедуры.

Обязательно проверю и ваш вариант. За ответ большое спасибо!
...
Рейтинг: 0 / 0
Обработка переданных POST-переменных
    #36394900
Фотография Foxter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kvad
3) набор массивов (таблиц) типа wwv_flow_global.vc_arr2 (определены также в apex_application)
g_f01 .. g_f20 (только до 20!)
описание использования в application processes g_fNN вроде как нигде в официальных источниках не встречал, но, тем не менее, работает (но 1-е 20 только).

При оформлении вызова htmldb_Get параметры устанавливаются ч-з вызов метода add, например,
Код: plaintext
1.
2.
get.add('APPLICATION_ITEM_1', 'qwerty');
get.add('x07', 'asdf');
get.add('f08', 'f08_value');
Если надо передать подготовленный js-массив строк ч-з fNN, можно воспользоваться функцией AddArray:
Код: plaintext
get.AddArray(c03,  3 ); // значения элементов массива с03 передадутся в табл. apex_application.g_f03


А Вы не подскажете на примере, как. скажем в переменную передать n - элемент массива с данными.
...
Рейтинг: 0 / 0
Обработка переданных POST-переменных
    #36396589
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FoxterА Вы не подскажете на примере, как. скажем в переменную передать n - элемент массива с данными.

Массив - это переменная-массив JavaScript, переменная-коллекция APEX, переменная-коллекция TYPE TABLE OF Oracle?
...
Рейтинг: 0 / 0
Обработка переданных POST-переменных
    #36836103
NoGot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kvad
Если надо передать подготовленный js-массив строк ч-з fNN, можно воспользоваться функцией AddArray:
Код: plaintext
get.AddArray(c03,  3 ); // значения элементов массива с03 передадутся в табл. apex_application.g_f03


У меня возникли проблемы с передачей туда массива с русскими символами, на входе в процесс получаю кракозяблы... Что делать?
...
Рейтинг: 0 / 0
Обработка переданных POST-переменных
    #36836977
kvad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NoGot,

Поройте поиском PlsqlNLSLanguage (параметр dads.conf)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Обработка переданных POST-переменных
    #38157198
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если мне стороннее приложение будет передавать пост переменные через стандартное представление:
Код: plaintext
var1=1&var2=2&var3=3

Как мне их получить в процессе без изменения способа передачи данных пемененных( например через x01 и тд).

Есть ведь пакеты которые работают с http...
...
Рейтинг: 0 / 0
Обработка переданных POST-переменных
    #38157299
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообщем в процессе plsql необходимо получить querystring!

Возможно такое?
...
Рейтинг: 0 / 0
Обработка переданных POST-переменных
    #38157392
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kasik
Код: plaintext
var1=1&var2=2&var3=3

т.е. методом GET ?

Не знаю насчет querystring, наверное можно, но только передать в таком виде просто так скорее всего не получится.

Смотрите документацию к mod_plsql (User's Guide for mod_plsql) + Advanced Application Developer's Guide и создайте свою функцию, вместо стандартной f, параметры которой будут соответствовать вашим всяким var1
...
Рейтинг: 0 / 0
Обработка переданных POST-переменных
    #38157545
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, вы не совсем поняли наверное...

Во-первых, у меня не апач, а apex listener
во-вторых, эта строка формируется jq-плагином, и мне нужно считать эти параметры.
Получается вот что:
Код: html
1.
host\apex\f?p=<APPID>:<PAGEID>:<SES>:APPLICATION_PROCESS=TEST&_search=false&nd=1361273872911&rows=20&page=1&sidx=&sord=asc


и мне нужно получить из процесса TEST все переданные параметры.

Можно ли это сделать?

Или нужен другой подход?
...
Рейтинг: 0 / 0
Обработка переданных POST-переменных
    #38157570
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kasikВо-первых, у меня не апач, а apex listener
В данном случае это неважно.
kasikМожно ли это сделать?
Нет. Вы обращаетесь к процедуре F , передавая ей параметры P, _SEARCH, ND, ROWS, PAGE, SIDX, SORD . У процедуры F из перечисленных есть только параметр P .

Либо пишите свою обёртку вокруг F , которая будет переносить эти параметры в глобальные переменные, либо изменяйте jQuery-плагин в той части, которая формирует URL.
...
Рейтинг: 0 / 0
Обработка переданных POST-переменных
    #38157577
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какого вида должен быть урл что бы в процесс пришли эти данные?
...
Рейтинг: 0 / 0
Обработка переданных POST-переменных
    #38157599
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kasik,

RTFM apex.server.process . Пусть API собирает URL за Вас. Первый параметр -- имя процесса.
...
Рейтинг: 0 / 0
Обработка переданных POST-переменных
    #38157665
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kasikВо-первых, у меня не апач, а apex listener
В данном случае это не имеет большого значения. Например в документации для EPG отсылает читать тот же mod_plsql User's Guide, к сожалению apex listener почти совсем не документирован, однако базовые функции для всех сценариев примерно одинаковы, и описаны там же, соответственно указанная часть документации применима и для apex listener, другой нет.

kasik
Код: html
1.
2.
host\apex\f
?p=<APPID>:<PAGEID>:<SES>:APPLICATION_PROCESS=TEST&_search=false&nd=1361273872911&rows=20&page=1&sidx=&sord=asc


и мне нужно получить из процесса TEST все переданные параметры.

Можно ли это сделать?
Вы не можете вызвать функцию f, передав ей другие параметры, чем она имеет. Как я уже сказал, запрограммировать свою функцию. Или уйти от идеи обрабатывать это апексом, обрабатывая её где-то раньше.
...
Рейтинг: 0 / 0
Обработка переданных POST-переменных
    #38157672
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если запрос POST?

Есть же разные пареты для работы с web из plsql...
...
Рейтинг: 0 / 0
Обработка переданных POST-переменных
    #38157727
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kasikА если запрос POST?

И? Ну развивайте же мысль, тяжело додумывать вопрос, чтобы потом давать на него ответ.

kasikЕсть же разные пареты для работы с web из plsql...
Есть. Но в APEX обращаетесь Вы через URL к процедуре F или WWV_FLOW.ACCEPT . У которых уже есть определённые параметры. Поэтому либо используйте эти параметры, изменяя Ваш плагин, либо пишите процедуру с необходимыми Вам параметрами и вызывайте в ней процедуры APEX, передавая в параметры xNN то, что пришло в Вашу процедуру.
...
Рейтинг: 0 / 0
Обработка переданных POST-переменных
    #38157730
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kasik,

Для POST-запроса по-аналогии используется функция wwv_flow.accept

kasikКакого вида должен быть урл что бы в процесс пришли эти данные?
если вы можете поменять строку, примените к этой части строки escape, потом можно раскодировать utl_url.unescape
...
Рейтинг: 0 / 0
Обработка переданных POST-переменных
    #38157941
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо за познавательные наводки и за принятие участия в теме.
Решил вопрос переделыванием способа посылки данных из плагина.

PS:
а чем отличается apex.server.process от html_Get ?
...
Рейтинг: 0 / 0
Обработка переданных POST-переменных
    #38157959
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kasikа чем отличается apex.server.process от html_Get ?

Тем, что возвращает объект jqXHR , а не строку или XML, как htmldb_Get.get.
...
Рейтинг: 0 / 0
Обработка переданных POST-переменных
    #38158437
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понятно, спасибо!
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Обработка переданных POST-переменных
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]