解決angular2頁面刷新后報404錯誤


 

  如果你的angular項目部署到一個tomcat容器里面,localhost:8080是JavaWeb的主頁,localhost:8080/driver/login是你angular2項目的登陸地址。第一遍跳轉login頁面,顯示正常。但如果你刷新login頁面,這會報一個404錯誤。為什么呢,因為你刷新后其實它走的是JavaWeb的路由了,在Java的路由下找不到這個路由地址,所以報錯。這算是angular2的一個坑吧,網上搜了一下,發現這個遇到這個錯誤的人挺多的,但都沒有給出解決辦法,現把解決辦法貼出來,希望能幫到一些遇到這個問題的程序猿們把!

解決辦法:

解決angular2頁面刷新后報404錯誤辦法:
配置app.module.ts
import {PathLocationStrategy, LocationStrategy} from '@angular/common';

@NgModule({
  declarations: [AppCmp], 
  bootstrap: [AppCmp],
  imports: [BrowserModule, routes],
  providers: [{provide: LocationStrategy, useClass: HashLocationStrategy]
]);

主要添加的代碼:

providers: [{provide: LocationStrategy, useClass: HashLocationStrategy]

這樣設置后,訪問angular站點,會自動在根節點后面加一個#錨點。再次刷新便不會報404錯誤了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM