AngularJSでは、データのセットを投稿し、支払いURLにリダイレクトしたいと思います。私はこれを達成するために以下の関数とディレクティブを追加しました。AngularJS http投稿と支払いゲートウェイにリダイレクト
しかし、私は同じことを達成できず、次の2つのエラーが発生しました$interpolate:interr
とTypeError: element.submit is not a function
エラー。
AngularJSによって報告されたエラーを解決するにはどうすればよいですか?私はAngularJSの初心者ですので、何が起きているのか理解できませんでした。
$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>
ありがとうございます。リダイレクトの問題を解決しました。 – SetV