Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在angularjs中获取url参数?_Javascript_Angularjs - Fatal编程技术网

Javascript 如何在angularjs中获取url参数?

Javascript 如何在angularjs中获取url参数?,javascript,angularjs,Javascript,Angularjs,我一直试图在Angular中获取url参数,但这不是一个单页应用程序。我尝试了下面的代码片段 www.example.com?param1=ABC 在控制器中注入$location,然后 var paramValue= $location.search().param1; 在上述情况下,paramValue未定义。但是,如果我将url更改为 www.example.com#?param1=ABC(在URL中添加)它可以工作 但是,我不想这样做,因为它打破了页面,因为它不是SPA 有人能提出一

我一直试图在Angular中获取url参数,但这不是一个单页应用程序。我尝试了下面的代码片段

www.example.com?param1=ABC
在控制器中注入
$location
,然后

var paramValue= $location.search().param1;
在上述情况下,paramValue未定义。但是,如果我将url更改为

www.example.com#?param1=ABC
(在URL中添加)它可以工作

但是,我不想这样做,因为它打破了页面,因为它不是SPA

有人能提出一种更好的方法来获取url参数而不必在url中使用#吗?

试试这个

$stateParams
注入控制器

var paramValue=$stateParams.param1

这将适用于您的场景

如果您不使用stateParams,请使用此选项:

this.$routerOnActivate = function(next) {
    $scope.paramValue= next.params.param1;
};
首先启用html5模式:

在路由器中添加以下代码:

app.config(["$locationProvider", function($locationProvider) {   
           $locationProvider.html5Mode(true); 
}]);
其次,更新index.html


使用
$routeParams

在$routeProvider中使用AngularJs

.when('/sample/:id',
  {
     templateUrl: 'sample.html',
     controller: 'sampleController'
  })

在您的控制器中,使用
$routeParams.id

获取它,这不是SPA应用程序,我已经清楚地提到过
var paramValue=$stateParams.param1
.when('/sample/:id',
  {
     templateUrl: 'sample.html',
     controller: 'sampleController'
  })