AngularJS URL中的所有斜杠已更改为%2F
我在AngularJS路由方面遇到了一个大问题。
直到最近,通过以下路线一切都很好:
$routeProvider.when('/album/:albumId', { controller: 'albumPageController',
templateUrl: 'views/album.html'
});
并使用href:
<a href="/#/album/{{album.id}}">Link</a>
但是,现在所有的斜杠都被编码为%2F
。
因此,当我单击链接或键入localhost:8000/#/album/1
浏览器时,URL更改为:
http:// localhost:8000 /#%2Falbum%2F1
我已经尝试了几种方法来纠正此问题:
href="#/album/{{album.id}}"
在Windows 10上使用ng-
href代替href,不使用第一个/(即)在Homestead本地主机(Laravel的Linux流浪者机器)而不是本地主机中运行应用程序
任何帮助将非常感激!
回答:
%2F
是正斜杠字符的百分比编码/
。
此问题与AngularJS 1.6更改了$location
服务中的hash-bang url的默认设置有关。
要恢复到以前的行为:
appModule.config(['$locationProvider', function($locationProvider) { $locationProvider.hashPrefix('');
}]);
以上是 AngularJS URL中的所有斜杠已更改为%2F 的全部内容, 来源链接: utcz.com/qa/406286.html