当前位置: 首页 > article >正文

对于简单的HTML、CSS、JavaScript前端,我们可以通过几种方式连接后端


1. 使用Fetch API发送HTTP请求(最简单的方式):

//home.html
// 示例:提交表单数据到后端
const submitForm = async (formData) => {
    try {
        const response = await fetch('http://your-backend-url/api/submit', {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json',
            },
            body: JSON.stringify(formData)
        });
        
        if (!response.ok) {
            throw new Error('提交失败');
        }
        
        const result = await response.json();
        alert('提交成功!');
        
    } catch (error) {
        console.error('Error:', error);
        alert('提交失败,请重试');
    }
};

// 使用示例
document.querySelector('form').addEventListener('submit', (e) => {
    e.preventDefault();
    const formData = {
        name: document.getElementById('name').value,
        major: document.getElementById('major').value,
        studentId: document.getElementById('studentId').value,
        qq: document.getElementById('qq').value,
        message: document.getElementById('message').value
    };
    submitForm(formData);
});

2.简单的后端服务器示例(Node.js + Express)。

//serve.js
const express = require('express');
const cors = require('cors');
const app = express();

// 启用CORS和JSON解析
app.use(cors());
app.use(express.json());

// 处理表单提交
app.post('/api/submit', (req, res) => {
    const formData = req.body;
    
    // 这里可以添加数据库操作
    console.log('收到的表单数据:', formData);
    
    // 返回响应
    res.json({
        success: true,
        message: '表单提交成功'
    });
});

// 启动服务器
const PORT = 3000;
app.listen(PORT, () => {
    console.log(`服务器运行在 http://localhost:${PORT}`);
});

3.如果需要数据库支持,可以添加MongoDB:

//serve.js
const mongoose = require('mongoose');

// 连接MongoDB
mongoose.connect('mongodb://localhost/309base', {
    useNewUrlParser: true,
    useUnifiedTopology: true
});

// 定义数据模型
const Application = mongoose.model('Application', {
    name: String,
    major: String,
    studentId: String,
    qq: String,
    message: String,
    submitTime: { type: Date, default: Date.now }
});

// 处理表单提交
app.post('/api/submit', async (req, res) => {
    try {
        const application = new Application(req.body);
        await application.save();
        
        res.json({
            success: true,
            message: '申请已保存'
        });
    } catch (error) {
        res.status(500).json({
            success: false,
            message: '保存失败'
        });
    }
});

4.部署注意事项:

// 配置文件 config.js
const config = {
    development: {
        apiUrl: 'http://localhost:3000',
        mongoUrl: 'mongodb://localhost/309base'
    },
    production: {
        apiUrl: 'https://your-production-api.com',
        mongoUrl: process.env.MONGODB_URI
    }
};

// 根据环境选择配置
const env = process.env.NODE_ENV || 'development';
module.exports = config[env];

主要步骤:

1.前端:

使用Fetch API发送请求

处理响应和错误

添加加载状态提示

2.后端:

设置基本的Express服务器

处理CORS问题

连接数据库

处理请求和响应

3.数据库:

选择合适的数据库(如MongoDB)

设计数据模型

处理数据存储和查询

4.部署:

选择合适的托管服务

配置环境变量

处理安全问题

这是一个基本的前后端连接方案,你可以根据需要进行扩展和修改。


http://www.kler.cn/a/549826.html

相关文章:

  • Shell脚本和Python的工作路径
  • Linux自学day20-流的输入与输出
  • iPhone 智能进化:Siri 调用 DeepSeek 大模型
  • 二.国产化系统—银河麒麟系统网络无法访问/无法使用/网络受限
  • 高等代数笔记—欧几里得空间、双线性函数
  • JavaScript 中处理 object 对象类型的常见方法
  • 支持列表拖拽嵌套,AI流式输出的多模态文档编辑器flowmix/docx: 全面升级
  • 《图解设计模式》笔记(十)用类来表现
  • 从2025年起:数字化建站PHP 8.1应成为建站开发的基准线
  • 解锁网络安全:穿越数字世界的防护密码
  • GPU(Graphics Processing Unit)详解
  • 图论- 经典最小生成树算法
  • 用xml配置spring, bean标签有哪些属性?
  • 深度解析HTTP/HTTPS协议:从原理到实践
  • 多模态基础模型训练笔记-第一篇InternVL-g
  • vSamOut
  • APIPark 新增 AI模型负载均衡,APIKey 资源池以及 AI Token 消耗统计等重磅功能!
  • day09_实时类标签/指标
  • 【2025最新版】软件测试面试题总结(150道题含答案解析)
  • JavaScript前端开发:构建交互式网页的魔法