当数据类型为文本时,如何评估 pOptions 对象的成功方法的参数?
How to evaluate pOptions object's success method's parameter when dataType is text?
我正在使用 Oracle APEX 21.2.5
。我试图在调用 apex.server.process
调用名为“AC
的按需进程时将数据类型 属性 的值设置为“文本”而不是默认值“json” ”。当我需要评估“成功”pOptions 对象方法的参数值时,问题就出现了。使用 json 我可以使用 apex_json.open_object, .. write, and close_object
到 return 来自“成功”方法参数持有的过程的值。例如,这是流程的代码....
DECLARE
N NUMBER;
BEGIN
SELECT 1 INTO N FROM DUAL;
apex_json.open_object;
apex_json.write('result', 'ok');
apex_json.close_object;
END;
这是单击按钮时触发的动态操作的代码...
apex.server.process("AC", {pageItems: "#P1_DNAME, #P1_LOC" },
{success: function(ppData) {
if (ppData = "{result: 'ok'}") {console.log("yes"); }
}
});
如您所见,我可以评估“ppData”参数的值。我如何 return 程序中的文本才能像我对 json 数据类型所做的那样对其进行评估?
pData
如果 dataType: "json"
是一个 json 对象,如果 dataType: "text"
是一个字符串。请注意,在您的代码中,您正在将 json 作为字符串进行评估 - 这可以更容易地完成,请参见下面的 json 示例。
这里是 JSON 和文本的例子。
apex.server 处理 JSON 响应
申请流程来源:
DECLARE
BEGIN
apex_json.open_object;
apex_json.write('result', 'ok');
apex_json.close_object;
END;
动态动作javascript代码:
apex.server.process(
'getResultJSON', // Process or AJAX Callback name
{}, // Parameter "x01"
{
success: function (pData) { // Success Javascript
if (pData.result == 'ok') {
apex.item( "P51_SUCCESS_JSON" ).setValue("Result of JSON is OK !")
} else {
apex.item( "P51_SUCCESS_JSON" ).setValue("Result of JSON is Not ok :( !")
}
},
dataType: "json"
}
);
apex.server 处理文本响应
申请流程来源:
DECLARE
BEGIN
/* use prn to prevent newline after string (htp.p prints newline).
*/
htp.prn('ok');
END;
动态动作javascript代码:
apex.server.process(
'getResultText', // Process or AJAX Callback name
{}, // Parameter "x01"
{
success: function (pData) { // Success Javascript
if (pData == 'ok') {
apex.item( "P51_SUCCESS_TEXT" ).setValue("Result of TEXT is OK !")
} else {
apex.item( "P51_SUCCESS_TEXT" ).setValue("Result of TEXT is Not ok :( !")
}
},
dataType: "text"
}
);
我正在使用 Oracle APEX 21.2.5
。我试图在调用 apex.server.process
调用名为“AC
的按需进程时将数据类型 属性 的值设置为“文本”而不是默认值“json” ”。当我需要评估“成功”pOptions 对象方法的参数值时,问题就出现了。使用 json 我可以使用 apex_json.open_object, .. write, and close_object
到 return 来自“成功”方法参数持有的过程的值。例如,这是流程的代码....
DECLARE
N NUMBER;
BEGIN
SELECT 1 INTO N FROM DUAL;
apex_json.open_object;
apex_json.write('result', 'ok');
apex_json.close_object;
END;
这是单击按钮时触发的动态操作的代码...
apex.server.process("AC", {pageItems: "#P1_DNAME, #P1_LOC" },
{success: function(ppData) {
if (ppData = "{result: 'ok'}") {console.log("yes"); }
}
});
如您所见,我可以评估“ppData”参数的值。我如何 return 程序中的文本才能像我对 json 数据类型所做的那样对其进行评估?
pData
如果 dataType: "json"
是一个 json 对象,如果 dataType: "text"
是一个字符串。请注意,在您的代码中,您正在将 json 作为字符串进行评估 - 这可以更容易地完成,请参见下面的 json 示例。
这里是 JSON 和文本的例子。
apex.server 处理 JSON 响应
申请流程来源:
DECLARE
BEGIN
apex_json.open_object;
apex_json.write('result', 'ok');
apex_json.close_object;
END;
动态动作javascript代码:
apex.server.process(
'getResultJSON', // Process or AJAX Callback name
{}, // Parameter "x01"
{
success: function (pData) { // Success Javascript
if (pData.result == 'ok') {
apex.item( "P51_SUCCESS_JSON" ).setValue("Result of JSON is OK !")
} else {
apex.item( "P51_SUCCESS_JSON" ).setValue("Result of JSON is Not ok :( !")
}
},
dataType: "json"
}
);
apex.server 处理文本响应
申请流程来源:
DECLARE
BEGIN
/* use prn to prevent newline after string (htp.p prints newline).
*/
htp.prn('ok');
END;
动态动作javascript代码:
apex.server.process(
'getResultText', // Process or AJAX Callback name
{}, // Parameter "x01"
{
success: function (pData) { // Success Javascript
if (pData == 'ok') {
apex.item( "P51_SUCCESS_TEXT" ).setValue("Result of TEXT is OK !")
} else {
apex.item( "P51_SUCCESS_TEXT" ).setValue("Result of TEXT is Not ok :( !")
}
},
dataType: "text"
}
);