【问题标题】:Form submission in Cordova在 Cordova 中提交表单
【发布时间】:2016-08-31 04:04:01
【问题描述】:

我正在尝试在Ionic 应用程序 中提交表单。

这是一种付款表单,可将​​用户带到提交后的付款页面。

在iOS设备上,它可以提交和打开支付网关的页面。但是在Android中没有这样做。

当我检查日志时,我注意到两件事是 'set native-> JS mode to null' 和没有名称的指定线程。

我已经尝试了所有可能的方法。但仍然没有运气。

【问题讨论】:

  • 您是否正确设置了 cordova-whitelist-plugin 和内容安全策略 (CSP)?尤其是 Android 中的 CSP。
  • @Karthik 你能发布你的表单提交代码吗?
  • @Karthink 通过这个错误跟踪 - 'set native-> js mode to null' 我在以下链接中注意到类似的错误跟踪 - github.com/Microsoft/cordova-plugin-code-push/issues/86 如果您使用的是 ionic v2,请重新创建再次新建项目,将旧项目中的所有内容移植到新项目并尝试再次运行?
  • @Gandhi 没有处理表单提交的代码。表单上的提交按钮提交它。
  • @BurakTokak 无法通过 AJAX 完成。这是一个提交到支付网关的表单。

标签: android angularjs cordova ionic-framework


【解决方案1】:

在iOS设备上,它可以提交和打开支付网关的页面。但是在Android中没有这样做。

嘿,我在提交时遇到了与 Facebook 登录的 javascript API 类似的问题。

安装 Cordova inappbrowser 插件对我有用。

https://github.com/apache/cordova-plugin-inappbrowser


另外,如果这不能解决问题,这就是我在你的位置上会做的事情:(我假设你有一个 LAMP 服务器)

1) 使用 ajax 将所有付款数据发送到 php 文件,以将数据插入数据库,然后将该插入行的 id 返回到 javascript 并将其存储在名为 @ 的变量中987654323@.

2) 在您的 LAMP 服务器中创建一个 php 页面,然后调用它;

http://www.yourdomain.com/paymentSubmit.php

3) 然后在点击提交按钮并将支付数据插入数据库后,使用应用内浏览器将insertedPaymentId 推送到该paymentSubmit.php 文件;

var ref = cordova.InAppBrowser.open('http://www.yourdomain.com/paymentSubmit.php?paymentID='+insertedPaymentId, '_blank', 'location=yes');

4) 使用 GET 获取 paymentSubmit.php 文件中的 insertPaymentId 变量,并在此 php 页面上从您的数据库中选择支付数据,然后使用“隐藏”输入,在此设置所有数据页面并有一个像这样的“确认您的付款”之类的提交按钮;

<form action="secure.payu/_payment.php...">
<input id="amount" type="hidden" value="<?php $db['amount']; ?>"/>
<input id="productinfo" type="hidden" value="<?php $db['productInfo']; ?>"/>
<input id="firstname" type="hidden" value="<?php $db['firstname']; ?>"/>
<input type="submit" value="Confirm"/>
</form>

在这种情况下,用户会在他们的应用程序上看到一个弹出窗口并要求他们确认付款,之后您实际上是在 LAMP 服务器和 PHP 环境中,做您想做的事情,如果您完成了您的提交,您可以通过阅读有关 inappbrowser 的更多信息来关闭该窗口。

希望有所帮助,让我更新。

【讨论】:

    猜你喜欢
    • 2021-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-02
    • 1970-01-01
    • 2011-11-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多