在oracle apex 利用ajax調用pl sql (新手版)

項目中咱們須要在界面上點擊一個按鈕,運行後臺一個pl sql並把程序運行結果返回給前端,其步驟以下javascript

ajax運行過程

先介紹js如何調用plsql,plsql將結果傳回前端js前端

  1. 新建一個按鈕,按鈕下建立一個dynamic action ,其動做爲 Execute javascript code,代碼以下java

     

    1ajax

    2sql

    3json

    4spa

    5.net

    6code

    7server

    8

    9

    10

    11

    12

    13

     

    apex.server.process("UPDATE_PRODUCTS"//<--- 第二步中process plsql的代碼的名字

    , {}, {

    dataType: 'text',

    success: function(pData) {

    //成功後執行的function

    var json_result = JSON.parse(pData);

    //將字符串轉成json格式

    if (json_result.retcode == "Y") {

    apex.message.showPageSuccess(json_result.errbuf);

    }

    }

    });

  2. 建立一個Ajax callback,名字爲UPDATE_PRODUCTS,代碼以下

     

    1

    2

    3

    4

    5

    6

    7

     

    begin

    --put your code here

    apex_json.open_object();

    apex_json.write('retcode', 'Y');

    apex_json.write('errbuf','ajax調用成功');

    apex_json.close_object();

    end;

  3. 運行結果

js向plsql傳遞參數

下面介紹js如何將參數傳給plsql,步驟和上一個相似,可是js代碼有做更改

  1. js代碼以下

     

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

     

    apex.server.process("UPDATE_PRODUCTS"//<--- 第二步中process plsql的代碼的名字

    , {

    x01: 23333 //將參數傳給pl sql

    }, {

    dataType: 'text',

    success: function(pData) {

    //成功後執行的function

    var json_result = JSON.parse(pData);

    //將字符串轉成json格式

    if (json_result.retcode == "Y") {

    apex.message.showPageSuccess(json_result.errbuf);

    }

    }

    });

  2. plsql代碼以下

     

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

     

    declare

    a varchar2(30);

    begin

    a := APEX_APPLICATION.g_x01; --讀取ajax傳過來的數據

    --bhsc_bid_pkg.get_bid_result(a ); 傳入參數並調取後臺程序包

    --向ajax返回數據,string格式,可是形式上相似json

    apex_json.open_object();

    apex_json.write('retcode', 'Y');

    apex_json.write('errbuf','傳入的參數爲' || a);

    apex_json.close_object();

    end;

  3. 結果

相關文章
相關標籤/搜索