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 } }; };