You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle APEX中交互式网格AJAX回调无法正常执行问题求助

Oracle APEX中交互式网格AJAX回调无法正常执行问题求助

各位APEX开发者们,我最近碰到一个棘手的问题,折腾了好久都没解决,想请教下大家的思路:

我在Oracle APEX里有一个ID为118_ig的交互式网格,需要用JavaScript把网格里数字的逗号替换成点,同时获取页面项:P118_ID的值,然后通过AJAX调用后台的PL/SQL进程来处理数据。从控制台日志来看,JS这边的数据处理是正常的,但后台的回调就是没按预期工作。

先贴我的JavaScript代码:

var v_amount = [];

var grid = apex.region("118_ig").widget();
var gridView = grid.interactiveGrid("getViews", "grid");
var model = gridView.model;
var p118_id = apex.item("P118_ID").getValue();

model.forEach(function (record) {
    console.log("Record structure:", record);
    if (record[1] !== undefined) {
        let value= String(record[1]).replace(/,/g, '.');
        if (!isNaN(value)) {
            v_amount.push(value);
        }
    }
});

apex.server.process('split_the_bill_btn_ig_proc', {
        f01: p118_id,
        f02: v_amount
    },
    {
        success: function (data) {
            console.log("Process succeeded:", data);
        },
        error: function (jqXHR, textStatus, errorThrown) {
            console.error("Process failed:", textStatus, errorThrown);
        }
    }
);

对应的PL/SQL AJAX回调代码(主要是把数组转成CSV,再传给自定义包):

DECLARE
    l_csv VARCHAR2(32767);
BEGIN
    l_csv := '';
    FOR i IN 1 .. apex_application.g_f02.COUNT LOOP
        IF i > 1 THEN
            l_csv := l_csv || ',';
        END IF;

        l_csv := l_csv || apex_application.g_f02(i);
    END LOOP;
    
    DBMS_OUTPUT.PUT_LINE('CSV Result: ' || l_csv);

    SPLIT_BILL_PKG.split_the_amount(apex_application.g_f01(1),  SPLIT_BILL_PKG.amounts_type(l_csv));

END;

目前的问题:

  • 控制台显示JS已经正确收集到数据,AJAX请求也返回成功,但后台的包逻辑就是没执行(或者说没生效)
  • 我手动在SQL命令窗口里调用SPLIT_BILL_PKG.split_the_amount是完全正常的,数据能正确处理
  • 我现在搞不清楚在apex.server.process里传参数时,应该用f01这类还是x01这类,同事说有规则但我没找到明确说明,会不会是参数类型的问题?

有没有大佬能帮我排查下可能的原因?比如参数传递的问题,或者交互式网格数据获取的问题?

备注:内容来源于stack exchange,提问作者krumpirko8888

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 13:29:49