您的位置:首页 > 数据库 > Oracle

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

2018-08-30 09:27 537 查看
项目中我们需要在界面上点击一个按钮,运行后台一个plsql并把程序运行结果返回给前端,其步骤如下

ajax运行过程

先介绍js如何调用plsql,plsql将结果传回前端js

新建一个按钮,按钮下创建一个dynamicaction,其动作为Executejavascriptcode,代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
apex.server.process("UPDATE_PRODUCTS"//<---第二步中processplsql的代码的名字
,{},{
dataType:'text',
success:function(pData){
//成功后执行的function
varjson_result=JSON.parse(pData);
//将字符串转成json格式
if(json_result.retcode=="Y"){
apex.message.showPageSuccess(json_result.errbuf);
}
}
});




创建一个Ajaxcallback,名字为UPDATE_PRODUCTS,代码如下

1
2
3
4
5
6
7
begin
--putyourcodehere
apex_json.open_object();
apex_json.write('retcode','Y');
apex_json.write('errbuf','ajax调用成功');
apex_json.close_object();
end;




运行结果




js向plsql传递参数

下面介绍js如何将参数传给plsql,步骤和上一个类似,但是js代码有作更改

js代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
apex.server.process("UPDATE_PRODUCTS"//<---第二步中processplsql的代码的名字
,{
x01:23333//将参数传给plsql
},{
dataType:'text',
success:function(pData){
//成功后执行的function
varjson_result=JSON.parse(pData);
//将字符串转成json格式
if(json_result.retcode=="Y"){
apex.message.showPageSuccess(json_result.errbuf);
}
}
});
plsql代码如下

1
2
3
4
5
6
7
8
9
10
11
12
declare
avarchar2(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;
结果


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Apache Apex Oracle