【发布时间】:2015-10-21 22:53:41
【问题描述】:
我必须为 JHipster 创建另一个简单的 html 页面,它必须执行 AJAX 请求。它包含一个很小的 AngularJS 应用程序,所以我复制了一些 JHipster 代码:
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');
我将此 sn-p 添加到我的 web 应用程序中,现在效果很好。
但是我想知道是否有更好的解决方案(避免额外的请求?)。 我怀疑这个问题太宽泛了,但想不出如何让它变得简单。
【问题讨论】:
标签: ajax angularjs csrf jhipster