Javascript AngularJS-尝试从url获取参数时,页面重定向到AngularJS中的其他页面

Javascript AngularJS-尝试从url获取参数时,页面重定向到AngularJS中的其他页面,javascript,php,angularjs,Javascript,Php,Angularjs,这是我的控制器代码 .when('/showprofile/:UserID', { templateUrl: 'resources/views/layout/showprofile.php', controller: 'ShowOrderController', }) 我正在通过url传递参数 我正试图通过url直接访问此页面,如下所示 http://192.168.1.58/myapp/#/showprofile/8 但它把我引向了 http://192.1

这是我的控制器代码

.when('/showprofile/:UserID', {
      templateUrl: 'resources/views/layout/showprofile.php',
      controller: 'ShowOrderController',
     })
我正在通过url传递参数

我正试图通过url直接访问此页面,如下所示

http://192.168.1.58/myapp/#/showprofile/8

但它把我引向了

http://192.168.1.58/myapp/#/showprofile/:UserID

如何在视图中获取url值


这是我的,这是我的

可能,但您必须在控制器中注入
$state
,然后获取

如果使用$state,则表示

console.log($state.params.userID);
试试这个

   var sampleApp = angular.module('sampleApp', []);

sampleApp.config(['$routeProvider',
  function($routeProvider) {
    $routeProvider.
      when('/ShowOrder/:orderId', {
    templateUrl: 'templates/show_order.html',
    controller: 'ShowOrderController'
      });
}]);


sampleApp.controller('ShowOrderController', function($scope, $routeParams) {

    $scope.order_id = $routeParams.orderId;

});

对,app.js中有类似的内容:

.when('/showprofile/:UserID', {
  templateUrl: 'resources/views/layout/showprofile.php',
  controller: 'authCtrl',
 })
这意味着authCtrl已分配给此视图。 因此,有必要将routeParams注入authCtrl(记住javascript中的依赖项注入):

你们能告诉我,若这个改变,在控制台中记录用户ID吗?还是空的?
若它记录了日志,那个么一切正常,您可以使用服务在不同的控制器之间传递这个变量

在您的控制器中尝试此操作,它将根据url值返回对象,然后我们可以像这样获得受尊重的值

//它将返回对象
控制台日志($routeParams);
//获取如下所示的特定url值
log($routeParams.UserID);
或

log($route.current.params.UserID)
重定向后控制台中是否有任何错误?控制台中没有任何错误。您可以发布所有路由器配置吗?@gonzalon我已经更新了问题中的整个app.js和authCtrl.js。你能看到它仍然重定向到“:UseID`你能把.php文件改成.html吗?@cyan我已经改成.html了。但仍然没有effect@Deena这是昏迷,很抱歉。@user5071852您在什么环境下使用它?在某些web服务器中?可能。htaccess是错误的还是某些权限?代码看起来不错,但请插入更多的代码。如果您仍然没有得到,请使用超时函数,如$timeout(function(){console.log($routeParams);},100);重定向的原因可能是什么??您在url中获得了参数值,但重定向是您的问题?不,由于重定向问题,我无法获得url值。请检查您的.htaccess文件。
    app.controller('authCtrl', ['$scope','$rootScope','$routeParams','$location', '$http', 'Data', function ($scope, $rootScope, $routeParams, $location, $http, Data) {
    $scope.myVar = $routeParams.UserID;
    console.log('UserID: ',$scope.myVar);
    /* (...) */
}]);