Javascript 在url中设置查询参数

Javascript 在url中设置查询参数,javascript,angularjs,Javascript,Angularjs,例如,我有一个url:http://local.com/。当我在我的SearchController中调用函数时,我想设置text=searchtext并获得如下url: http://local.com/?text=searchtext 我该怎么做?我尝试了$location.search('text','value')但是我得到了这个url:http://local.com/#/?text=searchtext $scope.searchTracks = function() {

例如,我有一个url:
http://local.com/
。当我在我的
SearchController
中调用函数时,我想设置
text=searchtext
并获得如下url:
http://local.com/?text=searchtext

我该怎么做?我尝试了
$location.search('text','value')但是我得到了这个url:
http://local.com/#/?text=searchtext

$scope.searchTracks = function() {

    Search.search.get($scope.params, function(data) {
        /** Set params in query string */
        $location.path('/').search('text', $scope.text);       
        }
    );
}

您必须在模块的配置中设置HTML5模式,以去除URL中的#/

此外,如果更改查询参数时不希望控制器/路线重新加载,则可能需要在路线配置中将
reloadOnSearch
设置为false

例如:

angular.module('myApp', []).config(function($locationProvider, $routeProvider) {
      $locationProvider.html5Mode(true);
      $locationProvider.hashPrefix('!');
      $routeProvider.when('/', {
           /*{other route options here}*/
           reloadOnSearch: false
      });
});

@iilexial您是否在链接上使用
?特别注意
ng href
部分。Angular将无法在仅使用标准
href
的链接上处理您的路由。另外,在启用HTML5模式后,请确保链接前面没有
#/