在JS API的Oracle APEX 19.1文档中,提到我们可以在apex.server.process中传递列项目。我们如何使用它?
我正在尝试使用apex.server.process
将列项目值发送到ajax回调函数
我尝试了以下代码
apex.server.process("ajax_1", { pageItems: ["ENAME"] }, {
target: $("#EMP"), dataType: "text", success: function (pData) {
alert(pData);
}
});
还有
apex.server.process("ajax_1", { pageItems: ["ENAME"] }, {
target: "#EMP", dataType: "text", success: function (pData) {
alert(pData);
}
});
网格具有静态ID:* * EMP**,并且具有名称为的列:* * ENAME和静态ID:* * 姓名
在Ajax回调过程(PLSQL)中
BEGIN
htp.prn('ENAME : ' ||:ENAME);
END;
我收到以下错误
- ERR-1002在应用程序"XXXXX"中找不到项目"ENAME"的项目ID**
请帮帮我。
3条答案
按热度按时间laik7k3q1#
在 AJAX 回调过程中,需要使用语法
apex_application.g_x01
toapex_application.g_x10
访问变量。请访问https://docs.oracle.com/cd/E59726_01/doc.50/e39149/apex_app.htm#AEAPI214了解详细信息和一个小示例。
wh6knrhe2#
我迟到了,但由于我有同样的问题,我想提交答案。
如果您的Javascript如下所示:
您可以访问APEX过程中的变量,如下所示:
qq24tv8q3#
现在我可能要迟到很久了,但是我相信我已经理解了您的问题的解决方案。在您的JS代码中,您首先必须定义一个视图和一个模型。有多种方法可以做到这一点,我个人选择在交互式网格小部件上调用getCurrentView(方法 call(“getCurrentView”) 是 widget()的缩写。interactiveGrid(“getCurrentView”):
从那里,您可以根据您的实际需要执行许多方法(此处列出):您是否希望将所有记录发送到APEX处理,您是否希望仅发送选定的记录等。假设您只有一条记录和一个特定的列值要传递。您需要在视图和模型定义之后分配一个新变量:
或者,如文档所述,当模型形状记录自身时,忽略记录,因为在您的情况下:
现在您已经获得了该值,在APEX服务器进程中,您可以将name变量作为
apex_application.g_x01
参数传递:正如前面的回答中提到的,您现在可以在 AJAX 回调过程中访问值,如下所示: