我正在尝试在Oracle Forms应用程序中接收一些http POST数据。如何从我的Forms应用程序中读取此发送的POST参数?
注意:要读取http-GET数据,我使用其他方法,如this answer,但是通过POST http方法发送数据的基础
答案 0 :(得分:0)
正如@Christian13467提到的那样,对于Oracle Forms来说,发送HTTP变量非常无动于衷,即使用POST或GET方法。
我的解决方案是构建一个字符串,其中包含以 otherparams 格式连接的所有变量,然后通过POST方法发送。当我的第一个表单包含在另一个Oracle Forms应用程序中时,我编辑了一个名为 basejpi.htm 的模板文件,以使用以下代码添加标题javascript部分:
function sendPostVars(path,params) {
var method = "post";
var form = document.createElement("form");
form.setAttribute("method", "post");
form.setAttribute("action", path);
var hiddenField = document.createElement("input");
hiddenField.setAttribute("type", "hidden");
hiddenField.setAttribute("name", "otherparams");
hiddenField.setAttribute("value", params);
form.appendChild(hiddenField);
document.body.appendChild(form);
form.submit();
}
然后从我的第一个Forms应用程序中,我通过11g javascript集成函数调用此方法,如下所示:
web.javascript_eval_expr(sendPostVars('http://host2:port/forms/frmservlet','name1=param1+name2=param2'))
最后,我将参数读入我的第二个Oracle Forms应用程序。