我应该在哪里把我的CSRF令牌放在我的Ember应用程序中?

ska*_*v85 2 javascript ember.js

我有一个csrf令牌转储到窗口上的JS变量中.我有一个表单从控制器发出AJAX请求(没有Ember数据).在我的请求中,我需要传递csrf令牌.将此令牌放入Ember的推荐位置在哪里?现在我正在窗外抓住它但我意识到这对可测试性有害.我的第一个想法是将它注册到容器中.我对Ember很新,所以任何反馈都会非常感激!

Has*_*mud 5

就像@ Kingpin2k所说的那样,它真的不需要注入到ember app中.如果你正在进行ajax调用,你可以使用jquery来完成它.一个简单的方法是,

  1. 在元标记内容中声明服务器端的csrf.
  2. 通过名称从元标记中获取它.
  3. 使用它(例如作为标题)与jquery(如果你想使用它与每个ajax请求你可以使用它ajaxSetup).

像这样的东西.

<meta name="csrf-token" content="{{ csrf_token() }}">
<script type="text/javascript">
  // Add x-csrf-token to all ajax request
  $.ajaxSetup({
      headers: {
          'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content')
      }
  });
</script>
Run Code Online (Sandbox Code Playgroud)