android – Cordova中的表单提交

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

这是一种付款方式,可以在提交时将用户带到付款页面.

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

当我检查日志时,我注意到的两件事是’设置原生 – > JS模式为null’和Thread没有名称指定.

我尽力了.但仍然没有运气.

解决方法

On iOS devices,it’s able to submit and open the page of the payment gateway. However fails to do so in Android.

嘿,我在facebook登录的javascript API提交时遇到了类似的问题.

安装Cordova inappbrowser插件为我做了诀窍.

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

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

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

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文件中获取insertedPaymentId变量,并在此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上阅读更多内容来关闭该窗口.

希望帮助,让我更新.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...