【问题标题】:Ionic Angular InAppBrowser Redirect PostIonic Angular InAppBrowser 重定向帖子
【发布时间】:2023-03-27 06:15:01
【问题描述】:

我正在尝试将我的应用重定向到 3DS 以获取付款方式。文档说:

从 /payments 响应中获取 action.url 和 action.method。

使用 HTTP POST 将购物者重定向到指定的 url,并且 在请求中包含数据对象的内容。

我得到了 URL、方法 (POST) 和数据体。现在我想用这个 URL 和 POST 数据使用组件 InAppBrowser 来打开一个新的浏览器,但是我无法正确打开,因为我不知道如何通过 POST 方法使用这个组件。

我正在尝试这样的事情:

  let pageContent = '<form action="'+result.action.url+'" 
  method="'+result.action.method+'">' +
  '<input type="hidden" name="md" value="'+result.action.data.MD+'">' +
  '<input type="hidden" name="paReq" value="'+result.action.data.PaReq+'">' +
  '<input type="hidden" name="termUrl" value="'+result.action.data.TermUrl+'">' +
  '</form>'

  this.paymentGatewayObject.target = '_blank'
  this.paymentGatewayObject.options = `location=no,${this.platform.is('android') ? 
  ',hidden=yes' : ''}`

  const pageContentUrl = 'data:text/html;base64,' + btoa(pageContent)
  this.paymentGatewayObject.browser = this.InAppBrowser.create(pageContentUrl, 
  this.paymentGatewayObject.target, this.paymentGatewayObject.options)

【问题讨论】:

    标签: angular ionic-framework post inappbrowser


    【解决方案1】:

    你可以用webkit.messageHandlers.cordova_iab.postMessage(msgJson);收听

    您可以在此处查看示例:https://github.com/apache/cordova-plugin-inappbrowser#example-1

    【讨论】: