0

在我的 Rails 应用程序中,我有一个发出 ajax 请求的操作。当我发出这个 ajax 请求时,使用 xhr.setRequestHeader 设置 CSRF 令牌在开发中可以正常工作,但在生产(heroku)中却不行。什么可能是问题?或者我如何在萤火虫中调试这个?

这是我的ajax设置

  jQuery.ajaxSetup({ 
 'beforeSend': function(xhr, settings) {
  xhr.setRequestHeader("Accept", "application/json");
  var token=$('meta[name="csrf-token"]').attr('content');
  xhr.setRequestHeader('X-CSRF-Token',token );
  settings['dataType'] = "json";
  settings['contentType'] = "application/json";
  }
 });
4

1 回答 1

1

最后我想通了,为了在生产中工作,我必须session_store.rb按如下方式配置生产域

   YourApp::Application.config.session_store :cookie_store, 
   {key: '_yourApp_session', domain: '.yourDomain.com'}
于 2012-12-30T18:51:29.087 回答