je crée une application web dans Angularjs j'écris du code dans un fichier .js séparé pour me connecter à partir de la base de données est exécuté au chargement de la page mais ne se déclenchant pas en cliquant sur le bouton, mon code .js est:
var adminModule = angular.module('angApp', []);
//Defining a Angular Controller
adminModule.controller('AdminCtrl', ['$scope', '$http',
function ($scope, $http) {
Login();
function Login(U_Name, U_PWD) {
debugger;
//Defining the $http service for login the admin user
$http({
method: 'POST',
url: '/Admin/IsAuthenticate',
data: { User_Name: U_Name, User_PWD: U_PWD }
}).success(function (result) {
if (result == true) {
alert('user is valid');
}
else {
alert('unauthorised access!');
}
}).error(function (error) {
//Showing error message
$scope.status = 'Unable to connect' + error.message;
});
}
}]);
et mon avis comme ce que j'utilise pour lier ceci en utilisant Angularjs voici un problème au-dessus du code fonctionne sur le chargement de la page mais ne fonctionne pas sur le clic du bouton, le code que j'utilise est:
<div class="admin-login" ng-controller="AdminCtrl" ng-app="angApp">
<h2>using angularjs</h2>
<input type="text" id="txtUserAng" placeholder="User Name" ng-model="U_Name" />
<input type="password" id="txtPWDAng" placeholder="Password" ng-model="U_PWD" />
<input type="button" id="login" value="login" ng-click="Login()" />
</div>
n'importe qui s'il vous plaît aidez-moi ce que je manque ici, donc je ne suis pas en mesure de déclencher un événement ng-click sur un clic de bouton merci à l'avance.
Votre fonction Login
doit être sur une portée. À l'heure actuelle, c'est essentiellement une fonction privée:
$scope.Login = function () {
...
}
assigner une fonction à une variable de portée.
var adminModule = angular.module('angApp', []);
//Defining a Angular Controller
adminModule.controller('AdminCtrl', ['$scope', '$http',
function ($scope, $http) {
$scope.Login = function (U_Name, U_PWD) {
debugger;
//Defining the $http service for login the admin user
$http({
method: 'POST',
url: '/Admin/IsAuthenticate',
data: { User_Name: U_Name, User_PWD: U_PWD }
}).success(function (result) {
if (result == true) {
alert('user is valid');
}
else {
alert('unauthorised access!');
}
}).error(function (error) {
//Showing error message
$scope.status = 'Unable to connect' + error.message;
});
}
$scope.Login();
}]);
Modifié:
essayez d'utiliser ce code html, mais je ne suis pas sûr.il se peut que ng-init et ng-controller soient dans la même charge div et ng-controller d'abord après ce ng-init:
<div ng-app="angApp">
<div class="admin-login" ng-controller="AdminCtrl" >
<h2>using angularjs</h2>
<input type="text" id="txtUserAng" placeholder="User Name" ng-model="U_Name" />
<input type="password" id="txtPWDAng" placeholder="Password" ng-model="U_PWD" />
<input type="button" id="login" value="login" ng-click="Login()" />
</div>
</div>