2015-06-29 18 views
0

Я новичок в угловых js. пожалуйста, помогите мне в следующем выпуске У меня есть форма с контроллером loginController. У меня есть два текстовых поля user.email и user.password. Я хочу отправить данные на сервлет onclick кнопки Log in. Я написал следующий код, но когда я нажму Log in, данные не будут отправляться на сервер. Также нет сообщения об ошибке.Как получить данные формы в сервлете с помощью угловых js

Ниже мой 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; 
     }); 
    } 

}); 

` Я перепробовал все решения, которые доступны, но не мог Не находите никакого результата .. Просьба помочь o n это

+0

Вы видите запрос POST на вкладке сети? –

ответ

0

Ваш <button> не вызывает отправку формы. Измените на <input type="submit" ng-disabled="login.$invalid">Log in</button> или удалите ng-submit из формы и добавьте ng-click="login()" в <button>.

+0

Я пробовал это .. но не повезло. Когда я пытаюсь в веб-браузере, я получил следующую ошибку: 'не могу прочитать свойство 0 of null' – axn7975

+0

@ axn7975, и ваша форма' name' сталкивается с именем функции входа. Измените имя своей формы на «loginForm» или что-то другое, отличное от имени функции входа. – Strelok

Смежные вопросы