AngularJS 使用 $routeProvider 時輸出路徑 "/" 變更成 "%2F" 解決方式
按照 AngularJS 官方網站 實做了 Wire up a Backend 的範例發現了一些問題,主要是在 routeProvider 變更瀏覽器 URL時,路徑上的 "/" 被改成了 "!/" 與指定路徑 "/new" 被換成 "%2Fnew",導製後續動作都無法解析問題: 按照它的範例執行一開始路徑就怪怪的,當按下『Add』時,沒有切換到 detail.html 的畫面,原因在於路徑出現了非預期的字元。 這個原因出在 routeProvider 回傳時把一些特殊字元進行轉換造成的問題,因此必須修改它的 config 對 routeProvider 處理程式碼片段: (原程式碼) .config(function($routeProvider) { var resolveProjects = { projects: function (Projects) { return Projects.fetch(); } }; $routeProvider .when('/', { controller:'ProjectListController as projectList', templateUrl:'list.html', resolve: resolveProjects }) .when('/edit/:projectId', { controller:'EditProjectController as editProject', templateUrl:'detail.html', resolve: resolveProjects }) .when('/new', { ...