2012-08-10 85 views
4

我有一個phonegap的問題,以打開表單在Android和iPhone上的Web瀏覽器上提交。我想提交表單與JS是這樣的:Phonegap開放表單提交到外部域在Web瀏覽器上

<html> 
    <body> 
    <form target="_blank" action="https://externalDomain.com"> 
     <input value="123" /> 
     <input value="456" /> 
    </form> 
    <script> 
     form.submit(); 
     // do something else 
    </script> 
    </body> 
</html> 

所以這個腳本的執行發生在存儲設備上的文件可以說「的index.html」,我想提交到瀏覽器中打開,因爲我需要用戶填寫「externalDomian.com」上的付款處理表單。用戶將再次進入該應用程序,他可以檢查付款是否被正確處理。

進出口使用的PhoneGap 2.0.0在Android上我試過的config.xml這個配置,但它並沒有幫助

<access origin="https://externalDomain.com" browserOnly="true" /> 

在iPhone上我有標誌OpenAllWhitelistURLsInWebView設置爲NO上Cordava.plist,也沒有幫助。

任何幫助將不勝感激。

回答

0

做一個AJAX提交表單,這樣用戶實際上並不重定向到一個外部網站,但保存在您的應用程序:

<html> 
    <body> 
    <form id="foo-form" target="_blank" action="https://externalDomain.com"> 
     <input value="123" /> 
     <input value="456" /> 
    </form> 
    <script> 
    $('#foo-form').on('submit', function() { 

     //create AJAX request to submit form 
     $.get(this.action, $(this).serialize(), function (response) { 
      //the `response` variable now holds what the server returned after the form submission 
     }); 

     //stop regular submission of form 
     return false; 
    }); 
    </script> 
    </body> 
</html> 

然後,您可以添加到DOM的響應,從而使用戶填寫外部表單。然後綁定到該表單並執行另一個AJAX提交。

+0

我不認爲我可以這樣做,因爲它是來自付款處理網站的表單。我不知道這是否合法。我不介意用戶退出應用程序,我完全喜歡這樣做,因此我也向用戶提供了他將卡信息發送給真實付款網站的安全性。 – 2012-08-10 17:47:32

+0

我認爲讓用戶重新進入你的應用程序的唯一方法是爲你的應用程序的域創建一個'intent',然後以某種方式讓你的支付網關將用戶轉發到一個可以被'intent'讀取的鏈接,或者讓他們在確認頁面上放置一個鏈接。 – Jasper 2012-08-10 17:59:21

+0

對不起,如果我不太清楚,我現在要編輯帖子。我不希望用戶留在應用程序中,我想在用戶Web瀏覽器上打開提交,僅出於安全原因,實際上是繼續進行的唯一方式。 – 2012-08-10 18:04:39

相關問題