Angular '不能GET'路由页面刷新
Angular 'Cannot GET' route on page refresh
在我的Angular应用程序中有一个搜索函数,当它执行时,它会点击我的API来获取结果,然后使用$location.url
重定向用户。一切都很好……直到我尝试重新加载结果页面。当我这样做时,我得到一个Cannot GET /search/[search-term]
消息。
app.config.js:
'use strict';
angular.module('gameApp')
.config(function($routeProvider, $locationProvider) {
$routeProvider
.when('/player/:playerId', {
templateUrl: 'player.html'
})
.when('/search/:searchTerm', {
templateUrl: '/app/gmSearchResults/gmSearchResults.html'
});
$locationProvider.html5Mode({
enabled: true,
requireBase: false,
rewriteLinks: false
});
});
有关navbar.controller.js: vm.getSearchResults = function(searchTerm) {
searchService.resource.getResults({
query: searchTerm
}).$promise.then(function(results) {
if (results.playerId) {
$location.url('/customer/' + results.playerId);
} else {
saveLatest(results);
$location.url('/search/' + searchTerm);
}
});
};
设置express应用程序:
app.route('/*').get(function(req, res) {
return res.sendFile(path.join(config.root, 'index.html'));
});
对Georgii Kats的回答做一个小小的修改。尝试使用:
app.get('/*', function (req, res, next) {
if (/.js|.html|.css|templates|js|scripts/.test(req.path) || req.xhr) {
return next({ status: 404, message: 'Not Found' });
} else {
return res.render('index');
}
});
相关文章:
- 刷新GoogleMaps tile服务器可以使用JavaScript,但不能使用GWT
- IOS自动化:有没有办法;刷新'元素树(或者Instruments'认为可以访问和不能访问的任何内容)
- jQuery AJAX刷新没有'不能在iPhone上工作
- 为什么我的 HTML 按钮刷新页面?/为什么我不能让我的新 HTML DOM 元素插入到我的页面中
- angularjs-ui-sortable:初始化之前不能调用sortable上的方法;尝试调用方法'刷新
- 不能只触发javascript的一部分刷新
- 使用移动版jquery和cordova时,可折叠列表视图的头部不能刷新
- 防止浏览器中的后退导航,但不能阻止使用window.onbeforeunload进行刷新
- 活动链接可用于页面刷新,但不能滚动
- Webview不能刷新使用Java代码android
- 当模型改变时,不能得到局部刷新
- Ajax刷新部分不能在rails中工作
- 我需要一个确认弹出浏览器关闭.我正在使用onbeforeunload事件,但不能在Firefox中工作,也想限制页面刷新
- 流星- Facebook社交插件不能加载,直到浏览器刷新
- jQuery模糊不能在IE中刷新页面
- 使用ajax不能刷新表
- 硬刷新时Hashbang不能正确刷新页面
- 在angular页面刷新时发生了什么?为什么我的登录用户不能被识别?
- 我的AJAX调用不能在下一页上工作,直到我点击刷新
- Jquery移动按钮刷新不能编程工作