Javascript 带有RequireJS路由的AngularJS删除散列
我使用角度布线来确定要向用户显示的视图,如下所示:Javascript 带有RequireJS路由的AngularJS删除散列,javascript,angularjs,routes,requirejs,http-status-code-404,Javascript,Angularjs,Routes,Requirejs,Http Status Code 404,我使用角度布线来确定要向用户显示的视图,如下所示: define(['angular', './app'], function(angular, app) { 'use strict'; return angular.module('app', ['ngRoute']). config(function($routeProvider, $locationProvider) { $routeProvider .when('/', {
define(['angular', './app'], function(angular, app) {
'use strict';
return angular.module('app', ['ngRoute']).
config(function($routeProvider, $locationProvider) {
$routeProvider
.when('/', {
templateUrl:'assets/partials/partial1.html',
controller: 'MyCtrl1'
}).when('/mada', {
templateUrl:'assets/partials/partial2.html',
controller: 'MyCtrl2'
})
.otherwise({redirectTo: '/'});
});
});
目前,路由可以工作,但只能像这样:localhost/#/mada或localhost/#/
我希望能够看到localhost/mada
我知道
$locationProvider.html5Mode(true);
$locationProvider.html5Mode(true);
我会把杂烩去掉。但这仍然不能让用户转到:localhost/mada,因为它返回一个服务器404
这能实现吗?如何操作?如果您没有使用服务器端语言,请将此代码放在html头部
<base href="/">
如果您使用的是服务器端语言,请使用以下代码:
app.get('*', function(req, res) {
res.render('index');
});
而不是
app.get('/', function(req, res) {
res.render('index');
});
并将此代码放入配置块:
$locationProvider.html5Mode(true);
$locationProvider.html5Mode(true);