美文网首页
简单的前端登录后端响应示例

简单的前端登录后端响应示例

作者: that_is_this | 来源:发表于2023-05-24 17:50 被阅读0次

我们将使用React和Express创建一个登录系统。首先我们创建前端代码,然后创建一个后端应用,最后我们将这两个部分连接起来。

这个任务涉及到的代码相对较多,下面给出的代码仅供参考,你可能需要根据你的实际需求进行修改。

  1. 前端部分(React)

src文件夹中,创建Login.js文件,代码如下:

// src/Login.js
import React, { useState } from 'react';
import axios from 'axios';
import { useHistory } from 'react-router-dom';

function Login() {
    const [username, setUsername] = useState('');
    const [password, setPassword] = useState('');
    const history = useHistory();

    const handleLogin = async () => {
        try {
            // 这里的 URL 地址需要替换为你的服务器地址
            const res = await axios.post('https://your-server.com/login', { username, password });
            if (res.data.status === 'success') {
                history.push('/welcome');
            } else {
                alert('登录失败,请重试');
            }
        } catch (error) {
            console.error(error);
        }
    };

    return (
        <div>
            <input
                type="text"
                placeholder="用户名"
                value={username}
                onChange={(e) => setUsername(e.target.value)}
            />
            <input
                type="password"
                placeholder="密码"
                value={password}
                onChange={(e) => setPassword(e.target.value)}
            />
            <button onClick={handleLogin}>登录</button>
        </div>
    );
}

export default Login;

创建Welcome.js文件,代码如下:

// src/Welcome.js
import React from 'react';

function Welcome() {
    return <div>Hello ~</div>;
}

export default Welcome;

修改App.js文件,加入路由信息:

// src/App.js
import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';
import Login from './Login';
import Welcome from './Welcome';

function App() {
    return (
        <Router>
            <Switch>
                <Route path="/login">
                    <Login />
                </Route>
                <Route path="/welcome">
                    <Welcome />
                </Route>
            </Switch>
        </Router>
    );
}

export default App;
  1. 后端部分(Express)

在你的后端项目中,首先创建app.js文件,用于启动服务器和处理请求:

// app.js
const express = require('express');
const bodyParser = require('body-parser');
const loginHandler = require('./loginHandler');
const app = express();

app.use(bodyParser.json());

app.post('/login', loginHandler);

app.listen(3000, function () {
    console.log('App is listening on port 3000');
});

然后创建loginHandler.js文件,用于处理登录请求:

// loginHandler.js
const { checkUserCredentials } = require('./db');

module.exports = async function (req, res) {
    const { username, password } = req.body;
    try {
        const result = await checkUserCredentials(username, password);
        if (result) {
            res.json({ status: 'success' });
        } else {
            res.json({ status: 'fail' });
        }
    } catch (error) {
        console.error

(error);
        res.status(500).json({ status: 'error' });
    }
};

最后,创建db.js文件,用于连接数据库和检查用户凭证:

// db.js
const mysql = require('mysql2/promise');

async function checkUserCredentials(username, password) {
    const connection = await mysql.createConnection({
        host: 'localhost',
        user: 'root',
        password: 'your-password',
        database: 'your-database'
    });
    const [rows] = await connection.execute('SELECT * FROM Users WHERE username = ? AND password = ?', [username, password]);
    connection.close();
    return rows.length > 0;
}

module.exports = {
    checkUserCredentials
};

以上代码中涉及的数据库连接和SQL查询都需要根据你的实际情况进行修改。同时也需要注意安全性的问题,比如防止SQL注入和使用密码哈希等。

这样就完成了一个基本的登录系统的搭建,用户在前端页面输入用户名和密码,点击登录后,前端向后端发送请求,后端再与数据库进行交互,最后返回登录结果给前端。

相关文章

  • Vue axios Codeigniter下载文件(浏览器不预览

    前端请求 后端响应

  • input上传图片预览

    前端代码示例 下面是后端nodejs代码示例前端上传文件,后端接收并将图片地址返回给前端 下面是处理文件上传的路由...

  • Spring Boot + JPA + Freemarker 实

    Spring Boot + JPA + Freemarker 实现后端分页 完整示例 界面效果 前端代码 后端代码...

  • Python实现大文件分片上传记录

    Python大文件分片上传记录 后端 flask 示例 config.py 前端示例

  • Vue项目使用WebSocket技术

    【基础】为什么使用WebSocket? 前端和后端的交互模式最常见的就是前端发数据请求,后端响应传输数据之前端进行...

  • 2019-09-24

    Wordpress前后端搭建 前端 WordPress主题设置 后端 登录(访问后端)可以通过http://www...

  • Parse.Cloud获取客户端登录的用户

    我们有时候需要判断前端的用户是否登录,才能执行后端脚本。其实实现很简单,后端脚本中使用req.user来获取即可(...

  • 微信登录

    1.登录 及获取 用户基础信息 前端调起微信登录获取code ----传给后端 后端通过code 调用微信api...

  • 数据格式

    接口文档 登录 /api/phone/login [POST] 用于手机端用户登录 请求参数 请求示例 响应参数 ...

  • 行为验证开发

    完整示例代码参考CaptchaDemo 验证流程 业务前端 业务后端 参考文章 快速入门 Web 前端接入 核查验...

网友评论

      本文标题:简单的前端登录后端响应示例

      本文链接:https://www.haomeiwen.com/subject/ztcqedtx.html