0
ich erhalte:Angular + Rails: POST-Anfrage 422/CSRF Fehler
Kann nicht CSRF-Token Authentizität Completed 422 Unprocessable Entity in 2ms überprüfen (Active: 0,0 ms)
Ich versuche, um eine $ http-Anfrage zu machen, um einen neuen Datenbankeintrag zu veröffentlichen. Verwenden von Angular über RoR.
in meinem Winkelregler:
...
$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
});
};
meine Form:
<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>
in meinen Schienen-Controller:
def create
respond_to do |format|
format.json
end
end
Normalerweise benötigen Sie einen Interceptor, um eine Art von JWT zu erstellen, bevor Sie Anforderungen an Ihren Rails-Endpunkt senden. Ist dies eine bestehende Anwendung oder eine neue Anwendung? –
Vorhanden. Verschieben Sie nur einen Teil der Funktionalität auf Angular. Ich habe zuvor Anfragen ohne Probleme gestellt, aber durch jQuery anstelle von Angular. –
Ich denke, dass dieser Beitrag ein wenig mehr darauf ausarbeitet: http://stackoverflow.com/questions/14734243/rails-csrf-protection-angular-js-protect-from-forgery-makes-me-to-log-out- auf. –