使用javascript写后端(nodejs)

1 篇文章 1 订阅
订阅专栏

1、准备工作

请确认系统安装了node

新建一个文件夹(node-test)用来存放这个后端项目,在文件夹下建立文件(db.js,app.js)

db.js是后端访问数据的配置文件

app.js是node项目的启动文件

2、编写数据库配置(db.js)

// 引入数据库模块
const mysql=require('mysql')
// 配置数据库连接(地址,账户,密码,所连接的数据库)
const db=mysql.createPool({
    host:'localhost',
    user:'root',
    password:'123456',
    database:'st'
})
// 暴露改模块
module.exports=db

使用自己的数据库进行数据存储(不要按照我的密码和用户来写!!!

数据库表展示(st数据库下的一个student表)

3、简易的服务器搭建

// 引入服务器模块
const express=require('express')
// 引入数据库模块
const db=require('./db')
// 定义一个app成为服务器
const app=express()
// 让app在8080端口运行
app.listen(8080,()=>{
    console.log('服务器在8080端口运行了')
})

在终端中运行app.js文件

node .\app.js

效果如下图所示

 进入浏览器查看8080端口,发现8080端口正在被使用中,即为成功

 4、发送get请求获取数据库数据

在const app=express()和app.listen()之间增加以下代码,实现发送get请求获取数据

// 发送get请求
app.get('/get',(req,res)=>{
    // 编写sql语句获取数据库数据
    let sql='select * from student'
    // 将sql给db下的query函数执行
    // 参数为(sql语句,函数(错误,结果))
    db.query(sql,(err,result)=>{
        // 如果sql语句有误
        if(err){
            // 服务器向客户端发送错误原因
            res.send(err)
        }
        // 获取数据成功,返回对象(成功的状态码,数据,获取成功的信息标识)
        res.send({code:200,data:result,message:'获取成功'})
    })
})

重新运行程序(node .\app.js),访问以下接口即可获取数据

http://localhost:8080/get

效果如下图所示

 成功获取数据库中的数据,其中app.get(),代表发送的是get请求app.get('/get'),表示进入/get这个路径去执行sql语句

 5、发送post请求增加数据(使用postman工具模拟post请求)

编写简单的post接口

// 发送post请求增加数据
app.post('/post',(req,res)=>{
    console.log(req.body)
})

请求地址 

http://localhost:8080/post

完整代码(增加了对json格式的解释,因为使用到了post请求,要拿到json数据)

// 引入服务器模块
const express=require('express')
// 引入数据库模块
const db=require('./db')
// 定义一个app成为服务器
const app=express()

//json解析器
const bodyParser = require('body-parser');//解析,用req.body获取post参数
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));


// 发送get请求
app.get('/get',(req,res)=>{
    // 编写sql语句获取数据库数据
    let sql='select * from student'
    // 将sql给db下的query函数执行
    // 参数为(sql语句,函数(错误,结果))
    db.query(sql,(err,result)=>{
        // 如果sql语句有误
        if(err){
            // 服务器向客户端发送错误原因
            res.send(err)
        }
        // 获取数据成功,返回对象(成功的状态码,数据,获取成功的信息标识)
        res.send({code:200,data:result,message:'获取成功'})
    })
})

// 发送post请求增加数据
app.post('/post',(req,res)=>{
    console.log(req.body)
})

// 让app在8080端口运行
app.listen(8080,()=>{
    console.log('服务器在8080端口运行了')
})

重新运行程序(node .\app.js),使用postman编写json数据,如下图所示

结果在终端中查看,服务器获取到了传入的数据,可以使用传入的数据增加数据库信息

 完整的post请求编写(需要参考数据库表传入数据,用来执行sql)

// 发送post请求增加数据
app.post('/post',(req,res)=>{
    console.log(req.body)
    // 解构出json的数据
    let {stucity,stuname,stusex}=req.body
    // 编写增加数据的sql语句
    let sql='insert into student(stucity,stuname,stusex) value(?,?,?)'
    // 执行sql语句(sql语句,参数(对应value中的?号),函数)
    db.query(sql,[stucity,stuname,stusex],(err,result)=>{
        if(err) res.send(err)
        res.send({code:200,message:'添加数据成功'})
    })
})

数据库表中的主键stunumber为自增类型,所以不用传参,将其他三个参数以数组的形式传递给sql语句来执行

结果如下图所示

 

查看数据库表

 

6、发送delete请求删除数据

// 发送delete请求
app.delete('/delete/:id',(req,res)=>{
    // sql语句根据stunumber删除学生数据
    let sql='delete from student where stunumber= ?'
    // 获取参数(stunumber)
    let {id}=req.params
    console.log(id)
    // 执行sql语句
    db.query(sql,id,(err,result)=>{
        if(err)
        res.send(err)
        // 删除数据成功
        res.send({code:200,message:'删除数据成功'})
    })
})

/delete/:id表示路径上需要有一个id参数,下面的参数为9

http://localhost:8080/delete/9

使用postman进行测试

 

 查看数据库表中id为9的数据是否已经删除

从0到1使用NodeJS后端接口的实战案例(仅供参考)
不怕麻烦的鹿丸的博客
06-18 5428
基于vue和node.js来开发的一个在线商城管理系统。
后端后端Nodejs
02-13
后端 后端Nodejs
后端接口步骤
路小飞
04-21 6381
后端接口书步骤
如何使用 Node.js 开发简易后端项目
游小北的博客
05-23 3058
node.js 开发博客项目笔记。
NodeJS后端接口
最新发布
m0_63823719的博客
05-12 594
1.express:Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具,使用 Express 可以快速地搭建一个完整功能的网站。2.mysql:用于操作MySQL数据库3.body-parser:用于解析JSON请求体。
后端速成JavaScript
qq_51705526的博客
04-15 1277
前言: JavaScript是一种属于网络的脚本语言,有它自身的基本数据类型、表达式和算术运算符及程序的基本程序框架,已经被广泛用于Web应用开发。 更重要的是JavaScript同HTML5一样具有跨平台性。 简单是JavaScript的又一大优点。 随着服务器的强壮,引擎如V8和框架如Node.js的发展,及其事件驱动及异步IO等特性,JavaScript也逐渐被用来编服务器端程序 一个合格和后端程序员, 必须要精通javascript ! 可能你在后面, 汇合js经常打交道! 全文是博主速成js
如何一个后端接口
weixin_61728046的博客
10-20 716
如何一个后端接口
backendAuthSample:后端Nodejs使用Bcryptjs,Jasowebtoken进行身份验证
02-16
backendAuthSample:后端Nodejs使用Bcryptjs,Jasowebtoken进行身份验证
backend:后端使用nodejs
03-31
backend:后端使用nodejs
团结后端:团结项目-后端NodeJS-Express-MongoDB
02-15
团结后端 开发该项目的目的是向更多人宣布团结活动。...技术:NodeJS-Express-MongoDB 测试工具:摩卡-柴-柴-http-法克 Heroku服务器: : 样本json文档: : (不需要令牌) 项目管理委员会: :
nodejs-api:Playground_EJ04_Nodejs-平台视频播放器后端nodejs
02-16
学习Nodejs 01游乐场(asincronismo) 02创建服务器: 节点js 表示 03 CRUD / API 04 jwt(JSON网络令牌) 05届 笔记 开发依赖与依赖: 在生产环境中,我们不想安装开发依赖项,因此我们获得了轻量级的构建
node.js—基于Egg框架的简单后端搭建(包含传参数据库操作)
LUZENG_SA的博客
08-02 1815
自己搭建简单后端接口的笔记总结,希望对你有用
nodejs后端
qq_50952645的博客
06-02 506
代码nodejs后端
Node.JS后端开发基础
碳基蒟蒻Serio的博客
01-04 7499
Node.JS后端开发基础 请求 响应 连接数据库
通过JS搭建后台,并实现前后端交互
weixin_52249641的博客
11-23 2972
通过JS搭建后台一.下载node二.建立环境1.打开WebStrom,进入命令行2.输入命令后回车 ,换个抓取文件的地址3.在命令行中下载一些配置文件4.编辑JS文件三.后台试运行1.在命令行中运行代码文件2.复制自己的ip地址3.浏览器中验证 一.下载node 傻瓜式安装就行了 地址:https://nodejs.org/zh-cn/ 二.建立环境 1.打开WebStrom,进入命令行 新建一个文件夹BS2,并右击文件夹点击Open in Terminal 见到这个页面说明你完成了第一步 2.输入命令
(简略)后端需要掌握的JS知识01
qq_35479788的博客
06-18 795
js基础知识01
给 Idris JS 后端
程序猿开发日志【学习永无止境】
04-27 1332
在默认状况下,Idris 编译器会使用 C 后端生成 Native binary(我还给它的 RTS 上过代码……)。然后 EB 了一个 JS 后端,只是这个后端的实在不敢恭维: 它内嵌了一个堆栈式的虚拟机,然后使用 Tracing 的方式解释字节码 。虽然和 C 版行为最一致,但性能和「可理解性」方面都远远不如其他的 Functional-to-js 编译器,像下面这段:module Mai
Java后端开发工作 - 接口
04-15 1万+
我在公司的工作内容是,对于一个BS应用,负责服务器端开发工作,Java语言。与前端开发人员合作,最终提供给前端RESTFUL接口,保证页面正常响应。 经验之谈 一个接口可以理解为一个业务逻辑,一个业务逻辑可以由1~n个SQL组成。一个优质的接口,应该是通用的接口,一旦需求变了,给过来的参数有变化,那我尽量做到接口不变,你多给我一个参数或者某个参数变化一下,我就可以给出你要的结果。 后端提供给...
后端开发之如何接口设计文档
热门推荐
qq_41490913的博客
03-29 1万+
如何理解接口? 当我们说到接口时,首先要分前端和后端,前端有Android、IOS、Js,后端定义返回值、参数、请求方式、协议等。系统A调用系统B,系统B调用系统C,像是把多个系统连接起来的一座桥梁,各自遵守相同的约定,但他本身是一种协议。它规范了传入的对象所必须具备的某些特征,从而保证在调用时既不会发生错误又不需要提前检查。 现实生活中的案例,比如插板上面有三个头的两个头的,手机充电器有usb...
一个前端代码用来调用后端nodejs文件
03-14
好的,我可以回答这个问题。您可以使用Ajax或Fetch API来调用后端nodejs文件。以下是一个简单的示例代码: ```javascript // 使用Fetch API调用后端nodejs文件 fetch('/backend.js') .then(response => response.text()) .then(data => console.log(data)) .catch(error => console.error(error)); ``` 请注意,您需要将上面的代码放在前端JavaScript文件中,并将`/backend.js`替换为您实际的后端文件路径。此外,您还需要确保您的后端文件已经正确配置和运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • vue路由配置 22427
  • vue3路由配置及路由跳转传参 12593
  • vue项目配置多个代理,使得前端能可以连接多个不同端口的接口 8379
  • 使用vue3实现数据大屏展示 3346
  • 使用javascript写后端(nodejs) 3344

分类专栏

  • 组件 1篇
  • javascript 1篇
  • vue 15篇
  • uniapp 1篇
  • node 1篇
  • vue路由 2篇
  • nginx 1篇
  • 宝塔 1篇
  • linux 1篇

最新评论

  • uniapp实现滑动答题

    wxfeiang: 1500道驾考宝典题目 写成swiper 靠谱吗

  • uniapp实现滑动答题

    努力学前端Hang: 是不是没有import reactive?

  • uniapp实现滑动答题

    半夏584: reactive错误是什么原因呀

  • 使用vue3实现数据大屏展示

    23朵毒蘑菇: vue3的大屏展示模板我推荐一个 https://admin.dumogu.top/big-screen/show_1?fit=cover

  • vue路由配置

    Justin_ly: 学习前端莫名的恐惧,但是从大佬这里真正的理解了。

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 影院座位选择简易实现(uniapp)
  • uniapp的H5实现图片长按保存
  • vue3实现放大镜效果
2024年1篇
2023年15篇
2022年19篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司赤峰至尊标王推荐盘锦百度网站优化排名价格六安百度网站优化排名推荐呼和浩特seo排名萍乡关键词按天计费公司海南百度关键词包年推广推荐延安seo网站推广报价通化网站推广方案价格朔州seo优化报价曲靖网站建设推荐泰安关键词排名公司济南优化多少钱桂林外贸网站建设公司酒泉百度网站优化排名推荐黄冈百度竞价包年推广南宁营销网站价格桐城网站推广方案报价衡水seo优化公司乐山百度网站优化推荐常德网站推广工具多少钱福永SEO按天计费湛江至尊标王报价莱芜seo推荐潜江百度网站优化排名白山网站推广系统哪家好怀化百度网站优化排名价格丽江网站关键词优化贵阳外贸网站建设哪家好三明外贸网站建设价格同乐关键词按天计费报价歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化