2012-03-12 23 views
0

我第一次嘗試使用GET方法向服務器發出請求,並且它工作正常。我的請求會處理一個文件,然後作爲pdf文件返回,並在新的瀏覽器上打開。我所做的是重寫doGet()方法。因爲有一個GET請求僅限於少數參數,我必須將其更改爲doPost() mehod,但問題是它不能被overrided,因爲該方法是最終的。在GWT的POST請求

HTML FORM

,我想發生的情況是這樣的:

<form method="post" action="http://differentdomain.com/appserv/appserv.php"> 
    <input type="hidden" name="fwi_script" value="app/custom/cusapp/interface" /> 
    <input type="hidden" name="trx" value="&lt;trx&gt; 
    &lt;productid&gt;PROD1&lt;/productid&gt; 
    ....../** transaction details here */ 
    &lt;/trx&gt;" /> 

    <input type="hidden" name="fcompanyid" value="SHOST101" /> 
    <input type="hidden" name="fwi_action" value="PRINT_PENDING_SALES" /> 
    <input type="hidden" name="fexcel" value="0" /> 
    <input type="submit" value="Submit" /> 
</form> 

這個HTML表單將在用戶點擊後命令按鈕打印每一筆交易的定單票據。

任何人都可以給一個想法POST請求GWT服務器?我想我不能這樣做RequestBuilder因爲我將有SOP問題,因爲我將連接到一個不同的域。

回答

1

要構建與您的問題非常接近的HTML,請從FormPanel開始,然後添加所需的表單字段。確保使用正確的操作和方法配置FormPanel,並向添加到其中的字段提供名稱(可能爲值)。要啓動請求,可以調用submit()

0

解決方法是對您的服務器進行正常的GWT RPC調用,並讓服務器向位於不同域上的服務器發出POST請求。

+0

關於使rpc做的工作,我可以使用jav.net。*爲此來處理和建立連接? – wens 2012-03-13 01:18:11

+0

從您的服務器代碼中,您可以使用任何您喜歡的JRE類或第三方庫。 – Strelok 2012-03-13 03:26:59