2014-03-13 60 views
0

我正嘗試在我的Oracle Forms應用程序中接收一些http POST數據。我怎樣才能從我的Forms應用程序讀取這個發送的POST參數?從Oracle Forms應用程序讀取POST數據

注:要讀取HTTP-GET數據我用otherparams像this answer,但基本的通過POST HTTP方法來發送數據

+1

在窗體中,如果通過HTTP GET或POST發送參數,則沒有區別。您的HTML表單是否使用正確的enctype發佈參數?嘗試應用程序/ x-www-form-urlencoded。 – Christian13467

+0

我通過Javascript創建表單DOM節點,然後執行form.submit通過POST方法發送參數。我還沒有測試過的是發送一個「otherparams」(跟隨我的問題註釋中的鏈接)參數來檢查我的表單應用程序是否收到它,就好像這是通過url GET參數發送的。 –

回答

0

Efectively爲@Christian13467提到,爲Oracle Forms是很淡漠瓦爾是如何HTTP發送,這正在使用POST或GET方法。

我的解決方案是構建一個字符串,其中包含所有我的變量,如otherparams格式,然後通過POST方法發送。由於我的第一種形式載到另一個Oracle表單應用程序,我編輯的模板文件名爲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(); 
} 
從我的第一個窗體應用程序

然後我打電話此像這樣通過11克方法JavaScript集成功能:

web.javascript_eval_expr(sendPostVars('http://host2:port/forms/frmservlet','name1=param1+name2=param2')) 

最後我得到了我的參數讀入到我的第二個Oracle窗體應用程序。

相關問題