Wir verwenden AngularJS 1.6 und haben unten Anweisung geschrieben, um Formular zu übermitteln.Catch Exception in Angular Direktive
(function() {
"use strict";
function formSubmitDirective(cookieService) {
return {
require: "form",
link: function ($scope, $el) {
var csrf = cookieService.csrfTokenCookie();
$el[0].querySelector('#csrf').value = csrf;
$el[0].submit();
}
};
}
formSubmitDirective.$inject = ['cookieService'];
angular
.module('csmDirectives')
.directive('csmFormSubmit', formSubmitDirective);
}());
Hier verwenden wir es:
<div ng-if="vm.autoLogout">
<form csm-form-submit role="form" action="/app/logout" method="POST">
<input type="hidden" id="csrf" name="_csrf" ng-value="vm.csrfToken"/>
</form>
</div>
Das Problem ist, dass die Anwendungen während der POST-Anforderung manchmal Fehler 403 erzeugt. In diesem Fall möchte ich diese Ausnahme fangen und die Seite unter url verschieben möchte:
localhost:8080/app/index.html#timeout
Gibt es eine Möglichkeit, dies zu tun?
Es sieht aus wie eine echte Form Post auftritt, also bin ich mir nicht sicher, ob Sie den Fehler so abfangen können –