繁体   English   中英

Angular + Rails:POST请求422 / CSRF错误

[英]Angular + Rails: POST request 422/CSRF error

我不断得到:

无法在2毫秒内验证CSRF令牌的真实性已完成422无法处理的实体(ActiveRecord:0.0毫秒)

我试图发出$ http请求以发布新的数据库条目。 在RoR上使用Angular。

在我的Angular控制器中:

...
$scope.createArea = function(data){
  var areaData = $scope.areaData;
  var url = '/locations/' + locationService.id + '/floors/' + floorService.id + '/areas.json'
  $http({
    url: url,
    method: 'POST',
    contentType: "application/json",
    data: areaData
  });
};

我的表格:

<div class="form-horizontal" id="new-area" ng-controller="mapsController">
  <form ng-submit="createArea(areaData)">
    <div id="name-group" class="form-group">
      <label>Name</label>
      <input type="text" name="name" class="form-control" placeholder="Area Name" ng-model="areaData.name" /><br />

      <label>Group</label>
      <select class="form-control">
        <option ng-repeat="group in groups" value="{{group.id}}" ng-model="areaData.groupID">{{group.name}}</option>
      </select>
    </div>

    <button type="submit" class="btn btn-default">Create</button>
  </form>
</div>

在我的rails控制器中:

def create
    respond_to do |format|
      format.json
    end
end

找到了答案:将gem'angular_rails_csrf'添加到我的gemfile中。 文件: https//github.com/jsanders/angular_rails_csrf

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM