HTTP Post后对外部链接的控制(cordova)

HTTP Post后对外部链接的控制(cordova),cordova,phonegap-plugins,hybrid-mobile-app,inappbrowser,Cordova,Phonegap Plugins,Hybrid Mobile App,Inappbrowser,这是我的第一个混合应用程序。我在这里已经6个月了,所以我积累了很多经验。我们的目标是android 4+和ios 8,9。我们正在使用cordova cli 在cordova应用程序中,我们目前正在开发在线支付功能。我们正在使用第三方钱包系统 我们准备详细信息(唯一id、事务详细信息、重定向url等),并通过HTTP post(非ajax)发布到第三方托管服务器 第三方钱包系统提供了一个页面,允许用户输入凭证。成功完成后,用户将被重定向到定义的重定向url(我们将在服务器中托管该url)。在该页

这是我的第一个混合应用程序。我在这里已经6个月了,所以我积累了很多经验。我们的目标是android 4+和ios 8,9。我们正在使用
cordova cli

在cordova应用程序中,我们目前正在开发在线支付功能。我们正在使用第三方钱包系统

我们准备详细信息(唯一id、事务详细信息、重定向url等),并通过HTTP post(非ajax)发布到第三方托管服务器

第三方钱包系统提供了一个页面,允许用户输入凭证。成功完成后,用户将被重定向到定义的重定向url(我们将在服务器中托管该url)。在该页面中,将有返回按钮,点击他必须返回到应用程序

我尝试了inappbrowser选项,我无法获取新付款页面的参考,因为它是post request not get(我的意思是,window.open没有帮助)。请帮我做这件事

编辑
更具体地说,在我的应用程序中,我有一个表单,它发布到外部url。在外部页面中,单击链接,我需要返回到我的应用程序。

要返回到应用程序,您需要实现以下事件处理程序:

                var ref =cordova.InAppBrowser.open(url, "_blank",'location=no,clearcache=yes,hardwareback=no,zoom=no');                    
                ref.addEventListener('loadstart',onBrowserLoadStart);
                ref.addEventListener('loadstop',onBrowserLoadStop);
                ref.addEventListener('loaderror', onBrowserError);
                ref.addEventListener('exit', onBrowserClose);
在浏览器中的“关闭”按钮上,重定向到某个虚拟关闭页面,然后在onBrowserLoadStart事件上,执行以下操作:

             var cUrl= 'webpageaddress/dummytemplate/appClose';
             if(event.url===cUrl){
                  ref.close();
             }
        function onBrowserLoadStop(event){

//alert('form url is:'+ event.url);
var cUrl= 'externalPageAddress/Dummytemplate/PaymentProcess';
if(event.url===cUrl){

    var msg;
    var newHtml='someHTMLDATA';


    var withoutScriptHtml = $(newHtml.bold());
    withoutScriptHtml.find('script').remove();


    msg=    " var formDiv = document.createElement('div'); formDiv.id='paymentFormDiv'; ";
    msg+=   " formDiv.innerHTML='" + withoutScriptHtml.html()+ "';" ;
    msg +=  " document.getElementById('InputForm').appendChild(formDiv);";
    msg +=  " document.getElementById('paymentForm').submit();";



    ref.executeScript(
        {
            code: msg
        },
        function(values){
            console.log(JSON.stringify(values));
        }
    );


}
要将数据发布到表单,请在外部页面中。这样做:

             var cUrl= 'webpageaddress/dummytemplate/appClose';
             if(event.url===cUrl){
                  ref.close();
             }
        function onBrowserLoadStop(event){

//alert('form url is:'+ event.url);
var cUrl= 'externalPageAddress/Dummytemplate/PaymentProcess';
if(event.url===cUrl){

    var msg;
    var newHtml='someHTMLDATA';


    var withoutScriptHtml = $(newHtml.bold());
    withoutScriptHtml.find('script').remove();


    msg=    " var formDiv = document.createElement('div'); formDiv.id='paymentFormDiv'; ";
    msg+=   " formDiv.innerHTML='" + withoutScriptHtml.html()+ "';" ;
    msg +=  " document.getElementById('InputForm').appendChild(formDiv);";
    msg +=  " document.getElementById('paymentForm').submit();";



    ref.executeScript(
        {
            code: msg
        },
        function(values){
            console.log(JSON.stringify(values));
        }
    );


}

}

HTTP以发送到支付系统。。我宁愿使用HTTPS。是的,你是对的。它是HTTPS。请在你的帖子中回答以下问题。因为这似乎是你关于这个主题的第一篇文章。这是你的第一款混合应用程序吗?你的目标平台和目标版本是什么:安卓4、5、6?iOS 7,8,9?你在用什么?请不要假设答案,请阅读链接。一旦你在帖子中回答了问题,在评论中回复,这样我就知道你已经在帖子中添加了信息。你还应该知道Phonegap不是一个好消息。这两个都是网站包装?是的,这是我的第一个混合应用程序,我在这6个月了。所以我在这方面积累了很好的经验(如果这是你的问题的话)。我们的目标是android 4+和ios 8,9。我们正在使用cordova cli。是的。如果端点为GET endpoint,则此操作将起作用。但在我的例子中,我需要形成一个端点的post。