AngularJS 是一个流行的 JavaScript 框架,用于构建单页应用程序(SPA)。下面是一个简单的 AngularJS 用户登录源码示例,包括前端和后端的简要说明。
<!DOCTYPE html>
<html ng-app="loginApp">
<head>
<title>Login</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.2/angular.min.js"></script>
<script src="app.js"></script>
</head>
<body ng-controller="LoginController">
<h2>Login</h2>
<form name="loginForm" novalidate>
<div>
<label for="username">Username:</label>
<input type="text" id="username" name="username" ng-model="user.username" required>
</div>
<div>
<label for="password">Password:</label>
<input type="password" id="password" name="password" ng-model="user.password" required>
</div>
<button type="submit" ng-click="login()">Login</button>
</form>
<p ng-if="errorMessage">{{ errorMessage }}</p>
</body>
</html>var app = angular.module('loginApp', []);
app.controller('LoginController', ['$scope', '$http', function($scope, $http) {
$scope.user = {};
$scope.errorMessage = '';
$scope.login = function() {
$http.post('/api/login', $scope.user)
.then(function(response) {
// Handle successful login
console.log('Login successful:', response.data);
$scope.errorMessage = '';
}, function(error) {
// Handle error
$scope.errorMessage = 'Invalid username or password';
console.error('Login failed:', error);
});
};
}]);假设你使用 Node.js 和 Express 来处理后端逻辑。
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
const port = 3000;
app.use(bodyParser.json());
const users = [
{ username: 'admin', password: 'admin123' }
];
app.post('/api/login', (req, res) => {
const { username, password } = req.body;
const user = users.find(u => u.username === username && u.password === password);
if (user) {
res.status(200).json({ message: 'Login successful' });
} else {
res.status(401).json({ message: 'Invalid credentials' });
}
});
app.listen(port, () => {
console.log(`Server running at http://localhost:${port}`);
});$http 服务发送异步请求到服务器。$http 发送登录请求,根据服务器响应更新视图。通过以上示例,你可以了解 AngularJS 用户登录的基本实现方式和相关概念。如果有更多具体问题,欢迎继续提问!
北极星训练营
“中小企业”在线学堂
实战低代码公开课直播专栏
玩转 WordPress 视频征稿活动——大咖分享第1期
微搭低代码直播互动专栏
云+社区开发者大会(苏州站)
云+社区技术沙龙[第8期]
DB TALK 技术分享会
数字化产业研学汇