我想在Ionic框架中实现webview.postUrl

时间:2017-03-21 07:46:57

标签: angularjs cordova ionic-framework webview inappbrowser

我正处于一个需要支付集成的项目中。但在原生中,他们使用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插件然后发布它也会很有帮助。因为像我这样的很多人现在都会遇到这个问题。

提前谢谢大家。

1 个答案:

答案 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。

感谢所有投入宝贵时间帮助我的人。