如何从离子控制器传递值到inAppBrowser?

时间:2017-04-02 17:16:57

标签: javascript html cordova ionic-framework ngcordova

我正在开发一种离子和科尔多瓦的混合移动应用程序。在这个应用程序中,我使用ngCordova InAppBrowse将html页面加载到app。

控制器代码:

module.controller('MyCtrl', function($cordovaInAppBrowser) {
  $scope.name="Rakesh";
  var options = {
      location: 'yes',
      clearcache: 'yes',
      toolbar: 'no'
    };

  $cordovaInAppBrowser.open('mypage.html', '_blank', options)
  .then(function(event) {
        // success
  })
  .catch(function(event) {
        // error
  });
  $rootScope.$on('$cordovaInAppBrowser:loadstart', function(e, event){
  });
  $rootScope.$on('$cordovaInAppBrowser:loadstop', function(e, event){
  });
  $rootScope.$on('$cordovaInAppBrowser:loaderror', function(e, event){
  });
  $rootScope.$on('$cordovaInAppBrowser:exit', function(e, event){
  });
});

HTML页面(mypage.html)

<!DOCTYPE html>
<html>
<head>
 <title>InAppBrowser - Test Page</title>
</head>
<body>
    <form name="sendParam" method="post" action="https://www.example.com/payment">
                <input type="text" id="name" name="name" value="" />
                <input type="submit" value="enter">
    </form > 
</body>
</html>

我想要什么?

我想将MyCtrl的$scope.name值设置或传递给mypage.html name text field

1 个答案:

答案 0 :(得分:2)

您无法使用$ scope将值传递给控制器​​到inAppBrowser,inAppBrowser用于打开移动应用程序的外部网页。

如果要将值从离子应用程序传递到外部页面,则必须使用URL传递值 的 http://html.net/page.php?paramOne=1254&paramTwo=ABC 并且您可以使用PHP中的$ _GET ['paramOne']或其他服务器端语言来获取该值。

或者您可以使用以下链接使用javascript获取该值 Get url parameter jquery Or How to Get Query String Values In js

希望我帮助你:)。