我有一个oAuth2服务,我希望将redirect_uri param作为url传递到我的AngularJS应用程序中的某个位置 - 例如http://localhost:8080/#/twitter/list
但我的oAuth2提供程序无法识别其中包含哈希符号的网址。我已经尝试将网址更改为http://localhost:8080/%23/twitter/list
,但Angular似乎无法识别路径,我在浏览器中收到以下错误:
Cannot GET /%23/twitter/list
如何重定向回我的AngularJS应用程序?
答案 0 :(得分:0)
根本没有必要使用主题标签。在支持HTML 5的现代浏览器(除旧IE之外的所有浏览器)中,您可以跳过该主题标签。默认情况下不会启用此功能,但您可以在应用中更改它。
在带有路由配置的应用中的部分下,您需要注入额外的$ locationProvider,然后应该使用它。请使用 ui-router 查看下面的示例(同样适用于 ng-router ):
angular.module('app').config(function( $stateProvider,
$urlRouterProvider, $locationProvider ){
//Routes
//...
$locationProvider.html5Mode(true);
}
使用类似的设置,您无需在应用中的任何位置使用主题标签。这意味着原始问题将得到解决