当前位置: 首页>开发笔记>正文

简单的前后端交互的案例

简单的前后端交互的案例

简单的前后端交互的案例--在表单页面输入信息,该信息存入数据库

  1. 首先封装自己的数据库
//封装数据库
//导入mysql模块
const mysql = require ('mysql2');//创建数据库连接对象
const connection = mysql.createConnection({host:'localhost'.  //数据库地址post:3306,  //端口号user:'root',  //数据库用户名password:'123456'  //自己设置的数据库密码database:'dbms'   //要连接的数据库
})//使数据库连接的对象对外可见
module.exports = connection;
  1. 写后台服务器(API接口)
//导入http模块,用户创建http服务
const http = require('http');//导入querystring模块,该模块是用来解析客户端提交的数据
const queryString = require('querystring');//导入数据库的配置模块,用于数据库的操作
const connection = require('../db/dbconfig')  //刚才自己好封装数据库的地址//创建http服务服务器:对应的请求地址是http://localhost:3000/index
var server = http.createServer((req,res)=>{  
//req:全称request,请求,是客户向浏览器发出询问  
//res:全称response,响应,是客户请求完成后,服务器接收成功并向客户端响应(即把处理好的结果发送给客户服务器(页面))//获取客户端请求的地址
let clientUrl = req.url
//我们创建一个页面地址,先使用该页面地址
if(clientUrl === '/index'){let body = '' //用来保存客户端提交的请求数据//给请求对象绑定'data'事件,获取客户端的请求数据,并将数据保存到body中req.on('data',chunk =>{   //chunk内 存放的是 用户的数据,将他依次存放到body内body += chunk;})//给请求对象req绑定end事件,解析用户的请求数据req.on('end',()=>{let params = queryString.parse(body); //使用querystring的属性parse 将数据转化为键值对格式,方便解析//设置服务器端的头部信息,响应到页面res.writeHead(200,{'content-Type':'text/plain;charset=utf8'})  //设置数据响应到页面的格式,防止乱码//拼接相应字符串let res_str = "姓名:"+params.name+"\n"+"性别:"+params.gender+"\n"+"生日:"+params.birthday+"\n"+"电话"+params.phone+"\n"+"地址"+params.address;save(params);  //先存入再响应数据插入成功了//将响应字符串发送给客户端res.wirte(res_str);//断开连接res.end();})}
})server.listen(3000);//绑定端口号//创建将数据保存到数据库的方法
function save(params){connection.query('insert into employee set?',{name:params.name,gender:params.gender,birthday:params.birthday,phone:params.phone,address:params.address},(err,resulet)=>{if (err){console.log(err)return;}console.log('插入数据成功!')connection.end();  //断开数据库连接})
}

先使用Postman来检测接口是否可用
在这里插入图片描述
在这里插入图片描述
去数据库查看,数据是否插入。

  1. 创建一个简易表单页面
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>简单的前后端的交互</title>
</head>
<body><form action="http://localhost:3000/index" method="post">姓名:<input type="text" name="name"><br><br>性别:<input type="text" name="gender"><br><br>生日:<input type="date" name="birthday"><br><br>电话:<input type="text" name="phone"><br><br>住址:<input type="text" name="address"><br><br><button type="submit">提交</button></form>
</body>
</html>

查看提交后,数据是否可以插入数据库

一个简单的前后端交互案例就写完啦!!!

https://www.zydui.com/af076V28GAQc.html
>

相关文章:

  • 前后端怎么实现交互
  • 前后端如何进行数据交互
  • ajax怎么实现前后端交互
  • 前后端交互流程图
  • 前端吃香还是后端吃香
  • 前后端是怎么交互的
  • javascript前端开发案例教程
  • 前后端交互原理
  • vscode搭建nodejs環境,關于VS code ESP-IDF 提示“loading ‘build.ninja‘: 系統找不到指定的文件” 的解決方案
  • 什么是應用軟件并舉例,16.應用舉例
  • 【面經】美團春招三輪面經分享~涵蓋眾多知識點
  • 2021年面試題目,面試題--新增
  • magic king怎么讀,magick++ 簡介
  • 微信怎么設置定時發送,朋友圈可以定時發送嗎?
  • can not connect to rpc service,RPC service
  • ftpserver安卓版,FTPServer
  • server u使用教程,Server-U
  • rpc服務器,RPC 和 Web Service 有什么區別?
  • rpc服務器,web service和rpc的區別
  • psexec
  • dhclient命令,hpe?3par命令行查看狀況腳本
  • hp存儲默認管理口地址,HP3par 多路徑存儲磁盤使用方法
  • hp3par命令行手冊,3par命令集
  • 存儲器芯片的地址范圍,存儲器芯片類別有哪些?
  • 在pc機中各類存儲器,1.14各類存儲器芯片
  • 存儲芯片漲價最新消息,存儲器芯片
  • Windows/Linux性能監控軟件>csv文件,方便生成圖表
  • sqlserver nvarchar,【SQL開發實戰技巧】系列(四十五):Oracle12C常用新特性?VARCHAR2/NVARCHAR2類型最大長度由40
  • arcgis怎么導入地圖,Arcgis路網導入3dmax批量改成道路面
  • 定義animal父類,定義一個父類Animal eat方法 , 定義兩個子類 Dog 特有方法keepHome , Cat 特有方法 catchMouse ;并
  • 手機連接兩個藍牙方法,打開藍牙的設置
  • iconfont圖標免費嗎,關于阿里矢量圖標彩色icon使用
  • ps制作賽博朋克風格,如何用ps做出賽博朋克的風格?
  • ue4綠幕實時導入場景,如何在UE4中制作賽博朋克LED效果
  • 產品經理有哪些培訓課程,2023年全國NPDP產品經理國際認證火熱招生啦
  • B端產品需要什么能力,NPDP認證|B端產品經理是如何做競品調研的?
  • 超級工具,Supershell 一款牛叉閃閃的工具
  • buffer在c語言中是什么意思,QBuffer 用法理解