用哈希直接访问url
我正在使用AngularJS和Laravel开发一个webapp。
当我浏览URL和应用程序中的链接时,一切正常,但如果我直接在浏览器中键入URL,会发生一些奇怪的事情。
例如,如果我输入http://myapp.dev/#/customers,我会重定向到http://myapp.dev/customers#/
为什么? 怎么了? Laravel执行“/”路由(右)和Angular“/”路由(再次右移)。
注意:我做了一个与第一个类似的测试应用程序,但没有使用Laravel和.htaccess(它只提供静态HTML),我没有这个问题,我可以直接访问URL。
谢谢。
编辑 - 在这里的角度路由代码:
var App = angular.module('Factotum', ['ngResource']); function appRouteConfig($routeProvider) { $routeProvider. when('/', { controller: IndiceController, templateUrl: 'v/indice' }). when('/login', { controller: 'AppController', templateUrl: 'v/login' }). when('/logout', { controller: 'AppController', templateUrl: 'v/login' }). // ---- Clienti when('/clienti', { controller: ClientiController, templateUrl: 'v/clienti/lista' }). when('/clienti/nuovo', { controller: ClientiController, templateUrl: 'v/clienti/nuovo' }). when('/clienti/modifica/:id', { controller: ClientiController, templateUrl: 'v/clienti/modifica' }). // ---- Progetti when('/progetti', { controller: ProgettiController, templateUrl: 'v/progetti/lista' }). when('/progetti/nuovo', { controller: ProgettiController, templateUrl: 'v/progetti/nuovo' }). otherwise({ redirectTo: '/' }); } // factotumRouteConfig App.config(appRouteConfig);
最后我发现了这个问题。 我使用免费的HTML5模板( Usman的 Charisma - 这里是一个演示:http://usman.it/themes/charisma/),其中包括jQuery History插件 。 我删除了这个插件,以及一些初始化代码,现在全部按预期工作。 我的错,我没有仔细检查代码。
链接地址: http://www.djcxy.com/p/77601.html上一篇: direct access to url with hash
下一篇: What's the correct way to communicate between controllers in AngularJS?