Мне нужно создать еще одну простую html-страницу для JHipster, и она должна выполнять запросы AJAX. Он содержит крошечное AngularJS приложение, поэтому я скопировал часть кода JHipster:JHipster и AngularJS: Как правильно обращаться с CSRF в запросах AJAX?
var app = angular.module('app', ['dep1', 'dep2', 'dep3']); app.config(function ($httpProvider) { $httpProvider.defaults.xsrfCookieName = 'CSRF-TOKEN'; $httpProvider.defaults.xsrfHeaderName = 'X-CSRF-TOKEN'; });
Затем я выполнить HTTP запросы, как это:
$http.post("/controller/execute", {code: ourCode})
И генерирует ошибку. Однако, я перезагружаю страницу, и все работает как шарм. Тогда я grep'ed источники и обнаружил, что в auth.session.service.js вы используете следующий код, чтобы получить маркер CSRF: $http.get('api/account');
я добавил этот фрагмент моей веб-приложение, и теперь он прекрасно работает.
Однако мне интересно, есть ли лучшее решение (избегая дополнительного запроса?). Я подозреваю, что вопрос слишком широк, но не может думать, как сделать его простым.