顶点全局变量的范围是什么APEX_APPLICATION.G_X01...G_X10
?它们是真正的“全局”、会话范围还是请求范围?
我做了一些测试,我的发现似乎是这些全局变量是请求范围的(即:同一会话中的其他请求和不同会话中的其他请求获得自己的全局变量副本),但我想确认我的发现是正确的。
我们设置的详细信息:
客户端 JS 代码如下所示:
data = {'first_name':$('#P25_FIRST_NAME').val()};
data = JSON.stringify(data);
$.ajax({
type: "POST",
url: "wwv_flow.show",
data: {
p_flow_id:$('#pFlowId').val(),
p_flow_step_id:$('#pFlowStepId').val(),
p_instance:$('#pInstance').val(),
x01:data,
p_request:"APPLICATION_PROCESS=AJAX_TEST"
},
dataType: "json",
success: function(data) {
alert('success:\n' + data);
},
error: function(data) {
alert('error:\n' + data);
},
});
服务器端 PL/SQL 代码如下所示:
CREATE OR REPLACE PROCEDURE
AJAX_TEST IS
JSON_REQUEST JSON;
JSON_RESPONSE JSON;
BEGIN
JSON_REQUEST := JSON(APEX_APPLICATION.G_X01);
JSON_RESPONSE := JSON();
JSON_RESPONSE.PUT('first_name', JSON_REQUEST.GET('first_name').GET_STRING());
JSON_RESPONSE.PUT('last_name', 'smith');
HTP.P(JSON_RESPONSE.to_char());
END AJAX_TEST;
我想确保变量APEX_APPLICATION.G_X01
,X02
等...不会受到处理当前请求范围内的其他请求的影响。
非常感谢!