David Mosher の優れたフロントエンド ワークフロー チュートリアルに従って、lineman.js、angularjs フロントエンド、laravel バックエンド ( http://www.youtube.com/watch?v=fSAgFxjFSqY ) を使用してアプリを構築しています。
angularjsアプリをブートストラップする前に、laravelバックエンドからcsrfトークンを取得して定数として注入できるように、アプリを手動でブートストラップしています。
私の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 定数の定義にエラーがありますか、それともブートストラップ コードに他のエラーがありますか?
どんな助けでも大歓迎です。