4 Stimmen

Phonegap Open form submit to external Domain im Webbrowser

Ich habe ein Problem mit Phonegap, um ein Formular im Webbrowser auf Android und iPhone zu öffnen. Ich möchte ein Formular mit js wie diese zu übermitteln:

<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>

Die Ausführung dieses Skripts erfolgt also in einer Datei, die auf dem Gerät gespeichert ist, sagen wir "index.html", und ich möchte, dass sich die Übermittlung im Browser öffnet, weil der Benutzer ein Zahlungsformular auf "externalDomian.com" ausfüllen muss. Der Benutzer wird dann wieder in die App einsteigen und er könnte überprüfen, ob die Zahlung korrekt verarbeitet wurde.

Im mit phonegap 2.0.0 auf Android Ich habe versucht, diese Konfiguration auf config.xml, aber es hat nicht helfen

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

Auf dem iPhone habe ich das Flag OpenAllWhitelistURLsInWebView in der Cordava.plist auf NO gesetzt, hat auch nicht geholfen.

Für jede Hilfe wären wir Ihnen sehr dankbar.

0voto

Jasper Punkte 75123

Führen Sie eine AJAX-Übermittlung des Formulars durch, so dass der Benutzer nicht auf eine externe Website umgeleitet wird, sondern in Ihrer Anwendung bleibt:

<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>

Anschließend können Sie die Antwort in das DOM einfügen, damit der Benutzer das externe Formular ausfüllen kann. Und dann binden Sie an das Formular und führen eine weitere AJAX-Übermittlung durch.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X