如何从php重定向时隐藏查询参数

时间:2017-08-15 17:53:12

标签: javascript php angularjs url uri

我有一个index.php页面,它执行POST请求。在post请求之后我创建了一个查询字符串

PHP代码段: - index.php

// example url : /some-route?&email=test@abc.com&first_name=test
 $url: "/some-route?&email=".trim($_POST["email"])."&first_name=" . 
 trim($_POST["firstName"]);
 header('Location: '.$url);

这是指角度js路由文件

Angular js - > stateProviderfile - > states.js

     $stateProvider
   .state("some-route", {
     url: '/some-route?isSomeApp',
     templateUrl : 'app/components/application/some-
                   information/someView.html',
     controller : 'someCtrl',
     params: { isSomeApp: null},
     data: { public: true }
});

现在我想在Query参数中检索值并将其存储在$ scope变量中,以便我可以在someView.html中自动填充文本字段 我在someCtrl.js中使用的代码是:

enter code here
$scope.parse = function(){
    if ($scope.params["first_name"] != undefined) {
      $scope.firstname = $scope.params["first_name"];
     }


   if ($scope.params["email"] != undefined) {
      $scope.email = $scope.params["email"];
     }
}

// call the above function in init() in someCtrl.js
$scope.init = function(){
    $scope.params = $location.search();
  if (Object.keys($scope.params).length > 0) {
     $scope.parseParams();
  }
}

我的问题是:如何在url中隐藏first_name和email,以便最终用户看不到它,但以某种方式拥有它,以便我可以访问它someCtrl.js

我希望用户看到:/ some-route

我的代码看到:示例网址:/ some-route?    &安培; email=test@abc.com&如first_name =测试

我希望实际的网址有隐藏的params电子邮件和first_name   - 所以用户不会看到这些信息   - 我可以从我的代码中访问它

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

如果您只使用两个参数(名称和电子邮件)进行POST调用并且想要隐藏参数,请使用HTML页面而不是带有表单的PHP文件,当用户提交时,请进行POST使用$http服务在AngularJS控制器中申请。

继续摇摆!