Javascript 在url中设置查询参数
例如,我有一个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() {
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模式后,请确保链接前面没有#/
。