AngularJSでRailsサーバにPOSTリクエストを非同期送信する

要するに、metaタグにあるauthenticity_tokenをPOST時のパラメータで渡す必要がある。

HTML中のボタンを押すとsendHoge()関数が実行されるとする。

<div ng-controller="HogeCtrl">
  <button ng-click="sendHoge()">送る</botton>
</div>

このときsendHoge()は次のようになる。

HogeCtrl = function($scope, $http) {
  $scope.sendHoge = function() {
    var token = $("meta[name='csrf-token']").attr('content');
    $http({
      method:"POST",
      url:"/hoge",
      data:{authenticity_token:token}
    }).success(function(data, status, headers, config) {
      // success
    }).error(function(data, status, headers, config) {
      // error
    }
  };
};