通过角度路由获取从一个页面到另一个页面的信息

时间:2017-03-31 18:35:02

标签: javascript php angularjs url routing

图像页面,该页面称为“仪表板”。在仪表板中,有一个下拉菜单,其中包含PHP脚本列出的项目,它们的数量因数据库的结果数量而异。

State 1 - Dashboard with opened drop-down menu

现在,当用户单击菜单中的一个项目时,它应该将其重定向到配置页面,其中包含一些数据(id,type)。听起来很简单,但使用的重定向方法是使用angular,因此它使用URL散列,而不刷新网站。配置页面的URL如下所示:

  

https://www.example.com/index.php#/configure

...我希望得到一些数据。我们看到的网站只有一个空白站点,在文件树中名为“configuration.php”,但由于“configure.module.js.php”中的角度代码,您在URL中看不到它。 “,它只是重定向用户,为他们提供了正确的网站:

(function () {
  'use strict';

  angular.module('BlurAdmin.pages.configure', [])
      .config(routeConfig);

  /** @ngInject */
  function routeConfig($stateProvider) {
    $stateProvider
        .state('configure', {
          url: '/configure',
          title: 'Configuration',
          templateUrl: 'app/pages/configure/configure.php',
          controller: 'addCtrl',
        });
  }

})();

所以我假设,如果我想将数据存入我的网站,我需要某种GET请求。我想,如果我像这样使用GET请求它会起作用:

https://www.example.com/index.php?something=works&omg=itWorks#/configure

所以我的index.php将使用GET数据并将它们写入SESSION,然后可以在configuration.php中使用!

嗯,它有效,有点......但主要的是,它都是有角度的,所以没有站点刷新所有!这意味着我的文件都不会被刷新,所以之后我再次单击该按钮,该站点将不再获得GET请求,它将简单地将我重定向到configuration.php,而不处理新数据...它将保留第一个GET参数和SESSION。

所以我的问题就出现了。怎么做?我真的需要一次点击将该数据发送到configuration.php,而无需刷新网站,但是,工作和更新。

1 个答案:

答案 0 :(得分:1)

在html中你添加ui-sref就像这样

ui-sref="configure/({id: valueid})
文件配置中的

url:'/configure/:id'
在你的控制器中添加像这样的$ stateParams

 function addCtrl($scope,$http,$stateParams)

并使用ajax来获取

   var params = $.param({'id':$stateParams.id})

        $http({
                    method:'GET',
                    url:'yoururl?id=' + $stateParams.id,
                    data:params,
                    headers : { 'Content-Type': 'application/x-www-form-urlencoded' }

                }).then(onSuccess);