我正在关注 David Mosher 出色的前端工作流程教程,使用 lineman.js、angularjs 前端和 laravel 后端 ( http://www.youtube.com/watch?v=fSAgFxjFSqY ) 构建应用程序。
我正在手动引导应用程序,以便我可以从 laravel 后端获取 csrf 令牌并将其作为常量注入,然后再引导 angularjs 应用程序。
我的 bootstrap.js 文件:
(function() {
var $injector = angular.injector(['ng']);
$injector.invoke(function($http, $rootScope) {
$rootScope.$apply(function() {
$http.get("/api/auth/csrf_token").then(function(response) {
angular.module("app").constant("CSRF_TOKEN", response.csrf_token);
angular.bootstrap(document, ['app']);
});
});
});
})();
我在我的 laravel routes.php 文件中从 laravel 获取 csrf_token,如下所示:
Route::get('/api/auth/csrf_token', function() {
return Response::json(array('csrf_token' => csrf_token()));
});
我可以在 Chrome Dev 中看到我正在从后端获取 csrf 令牌:
XHR finished loading: "http://localhost:8000/api/auth/csrf_token".
Network/Preview (->csrf_token): csrf_token: "BsMDDJ8ZjESpvdBLWBLz5ORM5LNXOsl3gx5LBcj5"
问题: 我在我的 Angular 应用程序中找不到 CSRF_TOKEN 常量。
问题: 我对 CSRF_TOKEN 常量的定义是否有错误,或者我的引导代码中是否有任何其他错误?
任何帮助将非常感激。