У меня есть два отдельных приложения:AngularJS html5mode перегрузочные страница
- AngularJS клиент работает на http://localhost:8080
- NodeJS сервер API, работающий на http://localhost:3000
NodeJS API сервера просто дает JSon данные клиента (и не дает никаких html-страниц). Таким образом, чтобы предоставить клиенту возможность общаться с сервером, я включаю технологию CORS на моем сервере API.
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
next();
});
Также я хочу использовать чистые URL-адреса без символа #, так что я включить html5mode в моем AngularJS приложение
function config($stateProvider, $urlRouterProvider, $locationProvider) {
$locationProvider.html5Mode(true);
$urlRouterProvider.otherwise('/login');
...
--- index.html
<!doctype html>
<html lang="en" ng-app="app">
<head>
<base href="/">
<title>APP</title>
<link rel="stylesheet" href="css/normalize.css">
<link rel="stylesheet" href="css/style.css">
<link rel="stylesheet" href="css/fontello.css">
</head>
<body>
<div ui-view="content"></div>
<script src="dist/app.js" type="text/javascript"></script>
</body>
</html>
Проблема: когда я взаимодействую с моим приложением с помощью btn's с ui-sref
, все работает хорошо, но когда я перезагружаю страницу, я получаю следующий вывод: Cannot GET /about
Вы можете предложить мне использовать переписать все мои ссылки на index.html Например:
app.all('/*', function(req, res, next) {
res.sendFile('index.html', { root: __dirname });
});
Но я не какие-то «представления» на моем сервере.
Что вы можете предложить мне в этой ситуации?
Спасибо, я решил эту проблему. Но но появляется новое. Теперь, если я перезагружаю страницу, я потерял cookie и сессию. У вас есть идеи, что может быть неправильным? – HelterShelter
Вы должны задать новый вопрос и показать нам код :). Покажите нам, как вы выполняете аутентификацию против своего api. – Eloims
Извините, моя вина. Если вам интересен этот вопрос, здесь ссылка http://stackoverflow.com/questions/32040090/lose-cookie-session-when-reload-page. Спасибо. – HelterShelter