Как сделать AJAX-запрос в plsql - PullRequest
0 голосов
/ 11 июня 2018

Я пытаюсь вызвать хранимую процедуру из другой хранимой процедуры, которая выглядит примерно так, как в приведенном ниже коде:

create or replace procedure hello_world is
v_first_name VARCHAR2(30) := 'ABC';
v_LAST_name  VARCHAR2(30) := 'XYZ';
BEGIN
htp.p('<HTML>');
htp.p('<HEAD>');
htp.p('<TITLE>Instructor Personal Info</TITLE>');
htp.p('</HEAD>');
htp.p('<BODY bgColor="#99CCCC">');
HTP.P('<input type="text" name = "TEXT" >');
HTP.P('<p id="demo"></p>');
htp.p('<script type="text/javascript">function myFunction() {/**Call the other stored procedure here passing the value from the the element "demo"**/');          
htp.p('</script>');
HTP.P('<button type="button" onclick="myFunction()">Personal Info</button>');
HTP.p('<p>This example demonstrates how to assign an "onclick" event to a p element.</p>');
htp.p('<H1>Personal Info For '||v_first_name||' '||v_last_name||'</H1>');
htp.p('</BODY>');
htp.p('</HTML>');
END;

Я хочу передать значение элемента "Demo" в качестве параметра.

Возможно ли это?и как этого достичь?

1 Ответ

0 голосов
/ 11 июня 2018

Вот пример того, как сделать AJAX-запрос.Я не мог проверить это.Как видите, вам нужно изменить значения на http.open с названием вашей процедуры.

CREATE OR REPLACE PROCEDURE hello_world
IS
    v_first_name   VARCHAR2 (30) := 'ABC';
    v_last_name    VARCHAR2 (30) := 'XYZ';
BEGIN
    HTP.p ('<HTML>');
    HTP.p ('<HEAD>');
    HTP.p ('<TITLE>Instructor Personal Info</TITLE>');
    HTP.p ('</HEAD>');
    HTP.p ('<BODY bgColor="#99CCCC">');
    HTP.p ('<input type="text" name = "TEXT" >');
    HTP.p ('<p id="demo"></p>');
    HTP.p('<script type="text/javascript">function myFunction() {
            var http;
            var response;

            var demo = document.getElementById("demo");
            http = new XMLHttpRequest();

            http.open("GET", "PROCEDURE_TO_CALL?param1="+ demo.value, false);

            http.setRequestHeader("Cache-Control", "no-cache");
            http.onreadystatechange = function() {
                if(http.readyState == 4 && http.status == 200){
                    response = http.responseText;
                }
            }

            http.send();
    }');
    HTP.p ('</script>');
    HTP.p('<button type="button" onclick="myFunction()">Personal Info</button>');
    HTP.p('<p>This example demonstrates how to assign an "onclick" event to a p element.</p>');
    HTP.p(   '<H1>Personal Info For '
          || v_first_name
          || ' '
          || v_last_name
          || '</H1>');
    HTP.p ('</BODY>');
    HTP.p ('</HTML>');
END;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...