4

Android および iPhone の Web ブラウザーで送信されたフォームを開く phonegap に問題があります。次のようなjsでフォームを送信したい:

<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」の支払い処理フォームに入力する必要があるため、送信をブラウザーで開く必要があります。 . その後、ユーザーは再びアプリに入り、支払いが正しく処理されたかどうかを確認できます。

私はAndroidでphonegap 2.0.0を使用しています.config.xmlでこの構成を試しましたが、役に立ちませんでした

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

iPhone では、Cordava.plist でフラグ OpenAllWhitelistURLsInWebView を NO に設定していますが、これも役に立ちませんでした。

どんな助けでも大歓迎です。

4

1 に答える 1

0

フォームの AJAX 送信を実行します。これにより、ユーザーは実際には外部 Web サイトにリダイレクトされず、アプリ内に保持されます。

<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 送信を行います。

于 2012-08-10T16:15:41.063 に答える