powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Передача своих параметров через AJAX
23 сообщений из 23, страница 1 из 1
Передача своих параметров через AJAX
    #38356418
loggin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно ли в APEX средствами AJAX передать параметры со своими названиями, вместо x01..x99 ?
...
Рейтинг: 0 / 0
Передача своих параметров через AJAX
    #38356476
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
loggin,

С помощью AJAX можно передать параметры с любыми именами.
...
Рейтинг: 0 / 0
Передача своих параметров через AJAX
    #38356483
haXbat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GustlyС помощью AJAX можно передать параметры с любыми именами.
Да ладно, а как же
Error ERR-1002 Unable to find item ID for item "BLA_BLA_BLA" in application "101".
Unexpected error, unable to find item name at application or page level.
...
Рейтинг: 0 / 0
Передача своих параметров через AJAX
    #38356486
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
haXbatError ERR-1002 Unable to find item ID for item "BLA_BLA_BLA" in application "101".
Unexpected error, unable to find item name at application or page level.
Вот же в ошибке все написано. Вы уверены, что такой итем есть? Если это итем приложения, то попробуйте ему все защиты поснимать, и еще раз попробуйте.
...
Рейтинг: 0 / 0
Передача своих параметров через AJAX
    #38356493
haXbat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GustlyВот же в ошибке все написано. Вы уверены, что такой итем есть? Если это итем приложения, то попробуйте ему все защиты поснимать, и еще раз попробуйте.
Разумеется, что такого айтема нет. Мы же говорим о передаче любых имен.
...
Рейтинг: 0 / 0
Передача своих параметров через AJAX
    #38356499
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как передаете покажите код.
...
Рейтинг: 0 / 0
Передача своих параметров через AJAX
    #38356515
haXbat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gustly,

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
    //ERROR
    var aget = new apex.ajax.ondemand();
    aget.ajax.add('BLA_BLA_BLA', '1295');
    aget._get();
    
    //NO ERROR
    var aget = new apex.ajax.ondemand();
    aget.ajax.addParam('x01', '1295');
    aget._get();


Из чего я делаю вывод, что передавать параметры AJAX-ом можно с именами либо существующих айтемов, либо c с помощью зарезервированных x01-x10.
...
Рейтинг: 0 / 0
Передача своих параметров через AJAX
    #38356559
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
haXbat,

А, так это апексовый аякс, мне больше по нраву от jquery $.post, там я сам указываю, что куда зачем и колбэк еще, не знаю, есть ли он здесь.
...
Рейтинг: 0 / 0
Передача своих параметров через AJAX
    #38356615
loggin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GustlyhaXbat,

А, так это апексовый аякс, мне больше по нраву от jquery $.post, там я сам указываю, что куда зачем и колбэк еще, не знаю, есть ли он здесь.

Серверная часть как выглядит?

Куда апекс складывает реквесты и как к ним добраться?
...
Рейтинг: 0 / 0
Передача своих параметров через AJAX
    #38356645
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
loggin,

Мой сервер - глассфиш. Я выдрал из консоли запрос и переписал так, как мне надо было.
Код: javascript
1.
2.
3.
4.
$.post('wwv_flow.show',"p_request=APXWGT&p_flow_id="+$v('pFlowId')+"&p_flow_step_id="+$v('pFlowStepId')+"&p_instance="+$v('pInstance')+"&p_widget_action=reset&x01=2361711335907569&p_widget_name=classic_report&p_arg_names=P1_ROWS&p_arg_values="+$v('P1_ROWS')+"&p_arg_names=P1_REPORT_SEARCH&p_arg_values="+$v('P1_REPORT_SEARCH')
, function (data) {
alert(data)
})
...
Рейтинг: 0 / 0
Передача своих параметров через AJAX
    #38356683
loggin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gustlyloggin,

Мой сервер - глассфиш. Я выдрал из консоли запрос и переписал так, как мне надо было.
Код: javascript
1.
2.
3.
4.
$.post('wwv_flow.show',"p_request=APXWGT&p_flow_id="+$v('pFlowId')+"&p_flow_step_id="+$v('pFlowStepId')+"&p_instance="+$v('pInstance')+"&p_widget_action=reset&x01=2361711335907569&p_widget_name=classic_report&p_arg_names=P1_ROWS&p_arg_values="+$v('P1_ROWS')+"&p_arg_names=P1_REPORT_SEARCH&p_arg_values="+$v('P1_REPORT_SEARCH')
, function (data) {
alert(data)
})



Это не то. С этим проблем нет. Мне надо не просто передать, но и обработать их на сервере.
...
Рейтинг: 0 / 0
Передача своих параметров через AJAX
    #38356699
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
loggin,

Передавайте в PL/SQL процедуру, обрабатывайте как вам надо и возвращайте. Отследите через консоль браузера запрос и имитируйте как вам надо. Или RESTful services.
...
Рейтинг: 0 / 0
Передача своих параметров через AJAX
    #38356785
loggin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gustlyloggin,

Передавайте в PL/SQL процедуру, обрабатывайте как вам надо и возвращайте. Отследите через консоль браузера запрос и имитируйте как вам надо. Или RESTful services.

Клиентскую часть, браузер и консоль давайте не будем трогать. Имитировать мне ничего не нужно. Данные на сервер уходят. Не важно каким способом я выполняю асинхронный запрос, через jquery,apex.js, голым JS или любую другую библиотеку.

Вот смотрите, на сервер ушли две переменные
Код: javascript
1.
2.
3.
//x01 - name
//x02 - time
$.post("wwv_flow.show", { x01: "John", x02: "2pm", p_request : 'APPLICATION_PROCESS=Hello_world' } );



Для того, чтобы получить эти значения, в pl\sql нужно написать вот это
Код: plsql
1.
name:=APEX_APPLICATION.g_x01; time:=APEX_APPLICATION.g_x02;



В случае, когда я передаю на сервер свои имена переменных, а не х01 и т.д

Код: javascript
1.
$.post("wwv_flow.show", { name: "John", time: "2pm", p_request : 'APPLICATION_PROCESS=Hello_world' } );



Что мне нужно написать в PL\SQL процессе чтобы получить значения Name и time ?
...
Рейтинг: 0 / 0
Передача своих параметров через AJAX
    #38356805
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
loggin,

Ну, тут необходимы таки application-level or page-level item, чем они вам не нравятся? Или RESTful services.
...
Рейтинг: 0 / 0
Передача своих параметров через AJAX
    #38357144
loggin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gustlyloggin,

Ну, тут необходимы таки application-level or page-level item, чем они вам не нравятся? Или RESTful services.

Тем, что для отправки значения, нужно создать кучу всякой херни.
...
Рейтинг: 0 / 0
Передача своих параметров через AJAX
    #38357153
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
logginGustlyloggin,

Ну, тут необходимы таки application-level or page-level item, чем они вам не нравятся? Или RESTful services.

Тем, что для отправки значения, нужно создать кучу всякой херни.
Какой? У меня есть парочка универсальных TEMP итемов приложения на все случаи жизни, что плохого? Так же можете посылать запросы на свой RESTful service, туда можете написать что угодно, сам запрос будет обрабатываться через PL/SQL.
...
Рейтинг: 0 / 0
Передача своих параметров через AJAX
    #38357207
loggin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gustlylogginпропущено...


Тем, что для отправки значения, нужно создать кучу всякой херни.
Какой? У меня есть парочка универсальных TEMP итемов приложения на все случаи жизни, что плохого? Так же можете посылать запросы на свой RESTful service, туда можете написать что угодно, сам запрос будет обрабатываться через PL/SQL.

Представьте, вам говорят нужно отправить посылку из А в Б. Вы берете и несете ее сначала в С а потом в Б. Так и тут

почему х01 можно без всяких TEMP итемов отправить, а вот своё имя обязательно через чего-нибудь необычное. причем таких "своих имен" за ранее предугадать сложно.

Я все же надеюсь что есть объект в котором есть не только x01
...
Рейтинг: 0 / 0
Передача своих параметров через AJAX
    #38357392
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
logginМожно ли в APEX средствами AJAX передать параметры со своими названиями, вместо x01..x99 ?Нет. Либо глобальные переменные, либо поля страниц и переменные приложения.

haXbatИз чего я делаю вывод, что передавать параметры AJAX-ом можно с именами либо существующих айтемов, либо c с помощью зарезервированных x01-x10.Либо с помощью коллекций f01-f20. В одной из которых можно передавать имена переменных, а в другой -- значения.

GustlyУ меня есть парочка универсальных TEMP итемов приложения на все случаи жизни, что плохого?Это те же самые x01-x10 . :)

logginпочему х01 можно без всяких TEMP итемов отправить, а вот своё имя обязательно через чего-нибудь необычное.Потому что Ваше обращение к серверу преобразуется в вызов процедуры БД. А у PL/SQL-процедур сигнатуры не меняются по щучьему велению, по вызывающего хотению. У wwv_flow.show и wwv_flow.accept чётко указанный набор параметров. Нет там Ваших name и time. А x01-x10 есть. И p_arg_names с p_arg_values есть -- с заданной логикой обработки.

По-хорошему, APEX Team должна была предоставить вменяемый API для добавления "временных переменных" к запросу и работы с ними в процессах через ассоциативные массивы. Но этого нет. Есть возможность пользоваться коллекциями f01-f20 для решения этой проблемы.
...
Рейтинг: 0 / 0
Передача своих параметров через AJAX
    #38357418
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
logginВ случае, когда я передаю на сервер свои имена переменных, а не х01 и т.д

Код: javascript
1.
$.post("wwv_flow.show", { name: "John", time: "2pm", p_request : 'APPLICATION_PROCESS=Hello_world' } );



Что мне нужно написать в PL\SQL процессе чтобы получить значения Name и time ?
Я вам уже ответил на этот вопрос 14556569
app сервер (ну тобишь mod_plsql/epg/apex listener/...) пытается передать эти параметры в хранимую процедуру-обработчик,
но не может, т.к. там таких параметров не существует. Считайте ответ на ваш вопрос - никак.

Ну или запрограммируйте свою процедуру-обработчик с указанными параметрами
(RTFM public function + для общих предствлений User's Guide for mod_plsql и Advanced Application Developer's Guide/Developing PL/SQL Web Applications), кот. по умолчанию будет работать вне контекста апекса.
...
Рейтинг: 0 / 0
Передача своих параметров через AJAX
    #38357753
loggin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответы, все ясно.
...
Рейтинг: 0 / 0
Передача своих параметров через AJAX
    #38358645
loggin,

может быть Вам глянуть на Flexible Parameter Passing , если Вы используете mod_plsql
но только это как бы апекс тут не при чём...
...
Рейтинг: 0 / 0
Передача своих параметров через AJAX
    #38358661
SvDevapp сервер (ну тобишь mod_plsql/epg/apex listener/...) пытается передать эти параметры в хранимую процедуру-обработчик,
но не может, т.к. там таких параметров не существует. Считайте ответ на ваш вопрос - никак.
в случае с mod_plsql Вы не совсем правы. читайте моё предыдущее сообщение.
...
Рейтинг: 0 / 0
Передача своих параметров через AJAX
    #38358746
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
добрый желатель,

действительно про эту возможность я не сказал, спасибо, что сделали это за меня

а в той части я отвечал только про стандартные апексные процедуры-обработчики, так что сказанное мной верно
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Передача своих параметров через AJAX
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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