Phonegap打开表单提交到Web浏览器上的外部域

Phonegap Open form submit to external Domain on web browser

本文关键字:外部 浏览器 Web 表单提交 Phonegap      更新时间:2023-09-26

我在 phonegap 上遇到问题,无法在 Android 和 iPhone 上的网络浏览器上打开表单提交。我想用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,也无济于事。

任何帮助将不胜感激。

执行表单的 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 提交。