Я новичок в угловых js. пожалуйста, помогите мне с проблемой ниже. У меня есть форма с контроллером loginController
. У меня есть два текстовых поля user.email
и user.password
. Я хочу, чтобы отправлять данные в сервлет onclick
из Log in
кнопки. Я написал следующий код, но когда я нажму " Log in
, данные не будут отправляться на сервер. Также нет сообщения об ошибке.
Ниже мой JSP файл '
<html ng-app="practiceApp">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<link rel ="stylesheet" type="text/css" href="bootstrap.min.css"/>
</head>
<body>
<script type="text/javascript" src="angular.min.js"></script>
<script type="text/javascript" src="practice.js"></script>
<form name='login' ng-controller='loginController' ng-submit="login()">
<div>
{{hello}}
<label>Email</label>
<input type="email" name="email" ng-model="user.email" required/>
<span ng-show='login.email.$dirty && login.email.$error.required'>Required</span>
<span ng-show='login.email.$dirty && login.email.$error.email'>Not a valid email</span>
<label>Password</label>
<input type="password" name="password" ng-model="user.password" required/><br/>
<span ng-show='login.password.$dirty && login.password.$error.required'>Required</span>
<button ng-disabled="login.$invalid">Log in</button>
</div>
</form>
</body>
</html>
'
Файл JavaScript
'
var app = angular.module('practiceApp',[]);
app.controller('loginController',function($scope,$http){
$scope.login = function(){
$http({
method: 'POST',
url:'/login',
headers:{'Content-Type':'application/json'},
data:$scope.user
}).success(function(data){
$scope.status=data;
});
}
});
"Я пробовал все доступные решения, но не смог найти никакого результата. Просьба помочь в этом
Ваша <button>
не вызывает отправку формы. Изменить на <input type="submit" ng-disabled="login.$invalid">Log in</button>
или удалить ng-submit
из формы и добавить ng-click="login()"
в <button>
,
cannot read the property 0 of null
name
формы конфликтует с именем функции входа. Измените имя формы на «loginForm» или что-то отличное от имени функции входа.