我正处于一个需要支付集成的项目中。但在原生中,他们使用webview来处理支付网关,如下所示:
webview.postUrl(URL, URLEncoder.encode(data.toString(), "UTF-8").getBytes());
我想在Ionic框架中实现它。我在InAppBrowser插件的帮助下尝试了以下方法,希望得到相同的结果:
ref = cordova.InAppBrowser.open(URL, '_blank', 'location=yes');
ref.addEventListener('loadstop', function(event){
$.ajax({
method: 'POST',
url: URL,
contentType: 'application/json; charset=UTF-8',
data: JSON.stringify(data)
}).success(function(data) {
console.log(data);
});
});
但我没有得到回应。
所以,我向你们提出了一些帮助我实施" webview.postUrl"在离子?
如果你们中的任何人可以制作离子或cordova插件然后发布它也会很有帮助。因为像我这样的很多人现在都会遇到这个问题。
提前谢谢大家。
答案 0 :(得分:1)
最后,我获得了与webview.postUrl相同的结果。
我已在我的应用中实现以下代码。
var URL = "https://www.yoururl.com"; // your url
var pageContent = "<html><head></head><body><form id='loadform' action='" + URL + "' method='post'>" +
"<input type='hidden' name='keyname' value='" + value + "'>" +
"</form> <script type='text/javascript'>document.getElementById('loadform').submit();</script></body></html>";
var pageContentUrl = "data:text/html;base64," + btoa(pageContent);
var browserRef = window.cordova.InAppBrowser.open(
pageContentUrl,
"_blank",
"hidden=no,location=no,clearsessioncache=yes,clearcache=yes"
);
在这里你可以看到我正在制作带有输入字段的简单html表单。该输入字段包含我的数据键和值(与json相同)。
此方法适用于Android和iOS。
感谢所有投入宝贵时间帮助我的人。