不 使用 html5mode 解析Angular中的查询字符串的最佳方法是什么?(不使用html5mode,因为我们需要支持较旧的浏览器 )
无论是否使用哈希,我都会得到相同的未定义结果:
http://localhost/test?param1=abc¶m2=def http://localhost/test#/param1=abc¶m2=def
$ routeParams和$ location.search()都返回未定义:
var app = angular.module('plunker', ["ngRoute"]); app.controller('MainCtrl', ["$scope", "$routeParams", "$location", function($scope, $routeParams, $location) { console.log($routeParams, $routeParams.abc); //undefined, undefined console.log($location.search(), $location.search().abc); //undefined, undefined }]);
我可以自己解析window.location.search,但我希望在Angular中有更好的方法。
Plnkr:http ://plnkr.co/edit/alBGFAkfqncVyK7iv8Ia?p=preview
查询参数应该在哈希之后:
http://localhost/test#/?param1=abc¶m2=def
这应该允许$location.search()返回如下对象:
$location.search()
{ param1: 'abc', param2: 'def' }