Я хочу реализовать webview.postUrl в Ionic framework

Я работаю над одним проектом, который требует интеграции платежей. Но в native они используют веб-просмотр для обработки платежного шлюза следующим образом:

webview.postUrl(URL, URLEncoder.encode(data.toString(), "UTF-8").getBytes());

Я хочу реализовать то же самое в Ionic framework. Я попробовал следующий метод с помощью плагина 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" в Ionic?

Также будет полезно, если кто-нибудь из вас сможет создать плагин ionic или cordova, а затем опубликовать его. потому что многие, как я, столкнулись бы с этой проблемой прямо сейчас.

Спасибо всем заранее.


person Hitesh Upadhyay    schedule 21.03.2017    source источник


Ответы (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.

Спасибо всем, кто потратил свое драгоценное время за попытку мне помочь.

person Hitesh Upadhyay    schedule 21.03.2017