亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用AngularJSHTML 5模式重新加載頁面會產生錯誤的GET請求

使用AngularJSHTML 5模式重新加載頁面會產生錯誤的GET請求

一只斗牛犬 2019-06-15 17:51:53
使用AngularJSHTML 5模式重新加載頁面會產生錯誤的GET請求我想為我的應用程序啟用HTML 5模式。我已經為配置放置了以下代碼,如下所示這里:return app.config(['$routeProvider','$locationProvider', function($routeProvider,$locationProvider) {     $locationProvider.html5Mode(true);     $locationProvider.hashPrefix = '!';     $routeProvider.when('/', {         templateUrl: '/views/index.html',         controller: 'indexCtrl'     });     $routeProvider.when('/about',{         templateUrl: '/views/about.html',         controller: 'AboutCtrl'     });如你所見,我用了$locationProvider.html5mode我更改了我在ng-href排除/#/.問題現在,我可以去localhost:9000/并查看索引頁并導航到其他頁面,如localhost:9000/about.但是,當我刷新localhost:9000/about一頁。我得到以下輸出:Cannot GET /about如果我看一下網絡呼叫:Request URL:localhost:9000/aboutRequest Method:GET如果我第一次去localhost:9000/然后單擊導航到/about我得到:Request URL:http://localhost:9000/views/about.html它完美地呈現了頁面。當我刷新時,如何啟用角獲取正確的頁面?
查看完整描述

3 回答

?
慕桂英3389331

TA貢獻2036條經驗 獲得超8個贊

我也遇到了類似的問題,我通過以下方式解決了這個問題:

  • 使用<base href="/index.html">在索引頁中

  • 在我的節點/快速服務器中使用CATCH所有路由中間件,如下所示(將其放在路由器后面):

app.use(function(req, res) {
    res.sendfile(__dirname + '/Public/index.html');});

我覺得這應該能讓你振作起來。

如果使用Apache服務器,則可能需要重寫鏈接。這并不難做到。只是配置文件中的一些更改。

所有這些都是假設您在angularjs上啟用了html 5模式。現在。請注意,在角1.2中,實際上不建議聲明一個基url。


查看完整回答
反對 回復 2019-06-15
  • 3 回答
  • 0 關注
  • 697 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號