【问题标题】:How to open POST url in device browser from React native application如何从 React 本机应用程序在设备浏览器中打开 POST url
【发布时间】:2019-09-27 06:37:04
【问题描述】:

我有一个购物网站,用户可以在其中将商品添加到用户的购物车中。但是在结帐过程中,我希望用户使用用户的购物车令牌在我的网站中导航。我想从带有发布数据的 react-native 应用程序在设备浏览器中打开 URL。

【问题讨论】:

  • 你可以用 react-native-webview 试试。 WebView 支持带有 url 的 POST 方法。

标签: javascript react-native mobile-application inappbrowser


【解决方案1】:

您可以使用一个名为Linking 的库。 您可以像这样打开网址:

Linking.openURL('<insert-url-here');

这将在默认浏览器中打开 URL。

【讨论】:

    【解决方案2】:

    根据Linking 文档,您不能通过 url 传递任何 POST 数据。您只能使用 fetch 发送 POST 数据。您将不得不找到另一种方法来实现这一点。

    您绝对可以使用 GET 数据发送您的令牌:

    Linking.openURL('https://yoururl.com/?cart_token=[token]');
    

    【讨论】:

    • 我已经尝试过了,但是我想使用 post 方法发送数据,我不想在 URL 中传递我的令牌。使用此功能如何在请求正文中发送数据。
    【解决方案3】:

    如果您想检查任何已安装的应用程序是否可以处理给定的 URL 您可以事先致电:

    Linking.canOpenURL(url)
      .then((supported) => {
        if (!supported) {
          console.log("Can't handle url: " + url);
        } else {
          return Linking.openURL(url);
        }
      })
      .catch((err) => console.error('An error occurred', err));
    

    https://facebook.github.io/react-native/docs/linking#opening-external-links

    【讨论】:

    • 我已经尝试过了,但我想使用 post 方法发送数据,我不想在 URL 中传递我的令牌。使用此功能如何在请求正文中发送数据。
    猜你喜欢
    • 2017-01-29
    • 1970-01-01
    • 2012-05-07
    • 2017-11-13
    • 1970-01-01
    • 2012-03-21
    • 2010-12-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多