Javascript 如何从状态url的路由中删除感叹号表示堆栈已满
我想从url状态路由中删除感叹号,就像我的url现在一样 我只想从url中删除“#”之后的“!”标记 有可能吗?用mean.io 这是我的app.js/system.jsJavascript 如何从状态url的路由中删除感叹号表示堆栈已满,javascript,angularjs,node.js,express,mean-stack,Javascript,Angularjs,Node.js,Express,Mean Stack,我想从url状态路由中删除感叹号,就像我的url现在一样 我只想从url中删除“#”之后的“!”标记 有可能吗?用mean.io 这是我的app.js/system.js 'use strict'; //Setting up route angular.module('mean').config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) { /
'use strict';
//Setting up route
angular.module('mean').config(['$stateProvider', '$urlRouterProvider',
function($stateProvider, $urlRouterProvider) {
// For unmatched routes:
//$urlRouterProvider.otherwise('/');
var checkLoggedin = function($q, $timeout, $http, $location) {
// Initialize a new promise
var deferred = $q.defer();
// Make an AJAX call to check if the user is logged in
$http.get('/loggedin').success(function(user) {
// Authenticated
if (user !== '0') $timeout(deferred.resolve);
// Not Authenticated
else {
$timeout(deferred.reject);
$location.url('/auth/login');
}
});
return deferred.promise;
};
// console.log($stateProvider);
// states for my app
$stateProvider
.state('tasks', {
url: '/kanban/:projectId/:projectSlug',
templateUrl: 'system/views/index.html',
controller: 'IndexController',
resolve: {
loggedin: checkLoggedin,
onEnter: function($stateParams,$state, $uibModal) {
if ( $stateParams.projectId != "" ) {
updateTopMenu('Kanban','task','#!/kanban/'+$stateParams.projectId+'/'+$stateParams.projectSlug);
updateTopMenu('Schedule','schedule','#!/schedule');
}
}
}
}).state('home',{
url:'/',
templateUrl: 'projects/views/index.html',
controller: 'ProjectController',
resolve:{
loggedin: checkLoggedin
}
}).state('taskEdit',{
url:'/kanban/:projectId/:projectSlug/:taskSlug',
templateUrl: 'system/views/index.html',
controller: 'IndexController',
resolve:{
loggedin: checkLoggedin
}
}).state('taskAdd',{
url: "/task/taskAdd",
onEnter: function($stateParams, $state, $uibModal) {
$uibModal.open({
templateUrl: "system/views/include/model.html",
resolve: {},
controller: function($scope, $state, itemService) {
/*
$scope.state = $state.current;
$scope.params = $stateParams;
$scope.item = itemService.get($stateParams.id);
*/
$scope.ok = function () {
$scope.$close('clicked ok');
};
$scope.dismiss = function () {
$scope.$dismiss('clicked cancel');
};
}
}).result.then(function (result) {
// $scope.$close
alert('result ->' + result);
}, function (result) {
// $scope.$dismiss
return $state.transitionTo("home");
alert('dismiss ->' + result);
}).finally(function () {
// handle finally
return $state.transitionTo("tasks");
});
}
});
}
]).config(['$locationProvider',
function($locationProvider) {
$locationProvider.hashPrefix('!');
}
]);
您已经在这里配置了它
function($locationProvider) {
$locationProvider.hashPrefix('!');
}
删除此行以获取代码>从url中删除
或者启用HTML5模式
,使用下面的代码从url中删除
$locationProvider.html5Mode(true);
但是,在启用HTML5模式之前,请阅读更多关于如何在angular中处理url路由的信息,以及服务器端路由与客户端路由等,您已经在这里配置了它
function($locationProvider) {
$locationProvider.hashPrefix('!');
}
删除此行以获取代码>从url中删除
或者启用HTML5模式
,使用下面的代码从url中删除
$locationProvider.html5Mode(true);
但在启用HTML5模式之前,请阅读更多关于如何在angular中处理url路由的信息,以及服务器端路由与客户端路由等,然后更改$locationProvider.hashPrefix(“!”)
到$locationProvider.hashPrefix(“”)代码>
System.js
.config(['$locationProvider',
function($locationProvider) {
$locationProvider.hashPrefix('');
}
]);
更改$locationProvider.hashPrefix(“!”)
到$locationProvider.hashPrefix(“”)代码>
System.js
.config(['$locationProvider',
function($locationProvider) {
$locationProvider.hashPrefix('');
}
]);
角度1或2?角度1。带节点和expressjs@ER.SHASHITIWARI你能发布你的路由代码吗(可能在App.js中)?我已经添加了我的App.js/system.js我应该将你的问题标记为重复吗?角度1或2?角度1。带节点和expressjs@ER.SHASHITIWARI你能发布你的路由代码吗(可能在App.js中)?我已经添加了我的App.js/system.js我应该将你的问题标记为重复吗?