In AngularJS möchte ich eine Reihe von Daten veröffentlichen und Redirect auf eine Zahlung URL. Ich habe die folgende Funktion und eine Direktive hinzugefügt, um dies zu erreichen.AngularJS http Post und Weiterleitung an Zahlung Gateway
Allerdings kann ich nicht das gleiche erreichen und bekam folgende zwei Fehler $interpolate:interr
und TypeError: element.submit is not a function
Fehler.
Wie löst man den von AngularJS gemeldeten Fehler? Ich bin Anfänger bei AngularJS, konnte also nicht verstehen, was passiert.
$scope.transaction = function() {
var data = $scope.details;
var formData = {
redirectUrl: 'https://payment-gateway-url',
redirectMethod: 'POST',
redirectData: {
id: data.id,
para1: data.para1
}
};
$rootScope.$broadcast('gateway.redirect', formData);
$scope.$emit('gateway.redirect');
};
app.directive('autoSubmitForm', ['$timeout', function($timeout) {
return {
replace: true,
scope: {},
template: '<form action="{{formData.redirectUrl}}" method="{{formData.redirectMethod}}">' +
'<div><input name="{{key}}" type="hidden" value="{{val}}" /></div>' +
'</form>',
link: function($scope, element, $attrs) {
$scope.$on($attrs['event'], function(event, data) {
$scope.formData = data;
console.log('redirecting now!');
$timeout(function() {
element.submit();
})
})
}
}
}]);
<div auto-submit-form event="gateway.redirect"></div>
Danke für das Update. Es hat das Problem der Umleitung gelöst. – SetV