从Oracle Forms App读取POST数据

时间:2014-03-13 20:33:32

标签: forms oracle plsql oracle11g oracleforms

我正在尝试在Oracle Forms应用程序中接收一些http POST数据。如何从我的Forms应用程序中读取此发送的POST参数?

注意:要读取http-GET数据,我使用其他方法,如this answer,但是通过POST http方法发送数据的基础

1 个答案:

答案 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应用程序。