夥計們這讓我瘋狂,一直在這上面奮鬥了幾個小時,並且找不到解決方案!路由和乾淨的路徑(沒有標籤)不工作在angularJS
我知道,爲了從URL路徑清潔井號標籤,我需要使用
$locationProvider.html5Mode(true);
但出於某種原因,這不是爲我工作很好,我現在使用的是Tomcat 7順便說一句來運行這個。
這是我的HTML進口,既AngularJS東西是V1.2.6:
<script type="text/javascript" src="angular/angular.min.js"></script>
<!-- Angular Libraries -->
<script type="text/javascript" src="angular/angular-route.js"></script>
<!-- This one handles the alert notifications -->
<script type="text/javascript" src="angular/angular-flash.min.js"></script>
<!-- App related libraries -->
<script type="text/javascript" src="js/services/portfolioServices.js"></script>
<script type="text/javascript" src="js/controllers/myWorkControllers.js"></script>
<script type="text/javascript" src="js/controllers/navController.js"></script>
<script type="text/javascript" src="js/controllers/aboutController.js"></script>
<script type="text/javascript" src="js/controllers/contactController.js"></script>
<script type="text/javascript" src="js/directives/portfolioDirectives.js"></script>
然後,這是我的服務的JavaScript與配置
這些控制器的portfolioApp = angular.module('portfolioApp', ['ngRoute']);
portfolioApp.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
$routeProvider
.when('/mywork', {
templateUrl: 'partials/mywork.htm',
controller: 'myWorkController'
})
.when('/about', {
templateUrl: 'partials/about.htm',
controller: 'aboutController'
})
.when('/contact', {
templateUrl: 'partials/contact.htm',
controller: 'contactController'
})
.otherwise({redirectTo: '/mywork'});
$locationProvider.html5Mode(true);
}]);
是每隻定義了,沒什麼特別的,名字和函數注入$ scope。他們什麼都沒有。
基本上不使用html5Mode的URL是
http://localhost:8080/template/#/
我想是:
http://localhost:8080/mywork
http://localhost:8080/about
http://localhost:8080/contact
現在,我可以把它的工作......通過訪問http://localhost:8080/template
它被重定向到那些網址的上面......但是當我用Ctrl + F5刷新網頁時,我從Tomcat中得到了404 Not Found! :S怎麼回事?該路徑不應該通過角來解決?
請問我在這裏做錯了什麼?我真的惹毛了HAHAH
順便說一下,以防萬一你想知道我的項目目錄是如何,下面是它的一個screeshot:
這是我目前的web.xml
<web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>Portfolio Application</display-name>
<!-- Auto scan rest service -->
<context-param>
<param-name>resteasy.scan</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>resteasy.servlet.mapping.prefix</param-name>
<param-value>/rest</param-value>
</context-param>
<listener>
<listener-class>
org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class>
</listener>
<servlet>
<servlet-name>resteasy-servlet</servlet-name>
<servlet-class>
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>resteasy-servlet</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>
在此先感謝。
所以你說我現在不應該擔心這個問題?如果我訪問投資組合,那麼當我嘗試瀏覽我的作品,關於和聯繫URL更改(刪除投資組合/部分)時,我會進入頁面,這些視圖非常棒......但正如我所說的你,如果我刷新,我得到404錯誤。 – user3078876
@ user3078876:plalx告訴你和我一樣:「你必須確保你的服務器只是返回這些不存在的URL的初始HTML頁面」。 –
是啊:(會看到如何解決它,添加web.xml中的帖子,壽。早上6點這裏仍然醒着哈哈 – user3078876