Ich benutze angular.js für kleine App. auf der Anmeldeseite nach Benutzer Benutzer füllen Sie die Daten und klicken Sie auf submit
Taste eine Methode wird vom Controller aufgerufen, die API-Aufruf und dann Benutzer auf der nächsten Seite umleiten. Dies funktioniert in Chrome, Firefox und Microsoft Edge, funktioniert aber nicht in Internet Explorer.
Hier ist meine signup.html
<form name="userRegForm"
ng-submit="userRegForm.$valid && registerUser()">
<md-input-container class="md-block">
<label>Full name</label>
<input required
ng-model="user.fullName"
name="fullName"
id="fullName"
autocomplete="off"
ng-pattern="/^[a-zA-Z ]*$/">
<div ng-messages="userRegForm.fullName.$error">
<div ng-message="required">Full name is required.</div>
<div ng-message="pattern">Please enter valid name</div>
</div>
</md-input-container>
<md-input-container class="md-block">
<label>Email</label>
<input required name="emailId" ng-model="user.emailId" type="email" autocomplete="off">
<div ng-messages="userRegForm.emailId.$error">
<div ng-message="required">Email is required.</div>
<div ng-message="email">Please enter valid Email.</div>
</div>
</md-input-container>
<md-input-container class="md-block">
<label>Password</label>
<input required name="password" ng-model="user.password" type="password" autocomplete="off">
<div ng-messages="userRegForm.password.$error">
<div ng-message="required">Password is required.</div>
</div>
</md-input-container>
<section id="non-padding" style="overflow: hidden">
<div class='layout layout--middle'>
<div class="layout__item xs-mb1 sm-text-right xs-text-right col-xs-4 sm-5of12 xs-6of12 sm-push7of12 sm-mb0 padding-right-0">
<input placeholder="REGISTER" type="submit" class="button button button--primary"
value="SIGN UP">
</div>
</div>
</section>
</form>
Hier ist meine controller
$scope.registerUser = function() {
apiUrl = "http://example.com/save_data";
var userData = {
role: 'CANDIDATE',
fullName: $scope.user.fullName,
emailId: $scope.user.emailId.toLowerCase(),
password: $scope.user.password
};
webService.sendPostRequest(apiUrl, userData,
function (response) {
data = JSON.parse(response.data);
if (data.RESPONSE_CODE == 'SUCCESS') {
$state.go('restricted.candidate.editProfile', {pageId: ''}, {location: 'replace'});
} else if (data.RESPONSE_CODE == 'WARNING') {
alertService.setNotification('Email already exists.', 'warning');
alertService.showNotification();
} else {
alertService.setNotification('Something going wrong, Please try again.', 'failure');
alertService.showNotification();
}
},
function (err) {
alertService.setNotification('Something went wrong, Please try again.', 'failure');
alertService.showNotification();
}
);
};
Dieser Code in allen anderen Browser funktioniert gut, aber nicht nur im Internet Explorer (ich habe v11 Windows 10).
Ich habe Google viel zu diesem Thema, aber einige Antwort sagen, dass ersetzen ng-click="function_name()"
zu direkten ng-click="$state.go()"
, aber das wird nicht in meinem Fall funktionieren.
Dank
nicht erwähnt Fehler geworfen oder Versionen von Winkel- und verwendet Router. Stellen Sie eine Demo bereit, die das Problem reproduziert, wie in [mcve] – charlietfl
m kein Fehler angezeigt wird –
Verwenden Sie dann einen stateChange-Fehlerhandler für weitere Details. Auch nicht klar, ob Anfrage sogar erfolgreich ist – charlietfl