亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > JS > 正文

用js簡單提供增刪改查接口

2024-05-06 16:50:46
字體:
來源:轉載
供稿:網友

本周寫實驗,需要提供簡單的后臺接口對數據庫進行增刪改查,以前寫后臺只用過php和java,因為比較容易,用js寫的也比較快,所以這次想用js實現簡單的增刪改查接口。

初始化

  • 需要工具:nodejs
  • 依賴:express,mysql,body-parser(這些都是npm的包)

為了能夠解析js,需要下載nodejs,下載完nodejs,創建一個文件夾,使用npm init初始化,除了填寫名字,一路確定下去,在文件夾下就會多出一個package.json文件.

// package.json{ "name": "test", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo /"Error: no test specified/" && exit 1" }, "author": "", "license": "ISC"}

為了接受并處理http請求,需要引入express這個包,在根目錄下使用這個命令:

$ npm install express

此時就引入了express這個包,創建一個index.js文件到根目錄下,內容:

var express = require('express');var app = express();app.get('/', function(req, res) { res.send('hello world!');});app.listen(3000, function() { console.log('server now listening at 3000 port');});

打開終端,使用nodejs編譯index.js,并且打開瀏覽器輸入localhost:3000就能看到hello world!了:

$ node index.jsserver now listening at 3000 port

js,增刪改查

這說明我們已經監聽了3000端口并且可以用js來處理http請求了.

連接數據庫

我使用的是mysql數據庫,為了方便操作數據庫,引入mysql這個包:

$ npm install mysqlnpm WARN test@1.0.0 No descriptionnpm WARN test@1.0.0 No repository field.+ mysql@2.17.1added 9 packages from 14 contributors and audited 134 packages in 4.145sfound 0 vulnerabilities

在index.js同路徑下創建一個db.js專門用來處理數據庫連接問題:

//db.jsvar mysql = require('mysql');var pool = mysql.createPool({ //連接信息 host: "localhost", user: "root", password: "", database: "c#learn", port: "3306"});var sql = {  insert:'INSERT INTO teacher(name, username, email, sex) VALUES(?,?,?,?)',     update:'update teacher set name=?, username=?, email=?, sex=? where id=?',  delete: 'delete from teacher where id=?',  queryById: 'select * from teacher where id=?',  queryAll: 'select * from teacher'};function query(sql, data, callback) { pool.getConnection(function(err, connection) {  connection.query(sql, data, function(err, rows) {  callback(err, rows);  connection.release(); //釋放連接 }); });}exports.query = query;exports.sql = sql;

配置數據庫信息獲得pool對象,就可以用pool對象來對數據庫進行操作,在配置sql語句,將查詢方法和sql語句導出給其他模塊調用.

提供后臺接口

在index.js導入db.js,并且將http請求和數據庫操作對接:

var express = require('express');var app = express();var db = require('./db.js');app.get('/', function(req, res) { res.header("Access-Control-Allow-Origin", "*"); db.query(db.sql.queryAll, [], function(err, rows) {  res.send(JSON.stringify(rows)); });});這時再訪問localhost:3000就能看我們teacher表中所有的記錄了。app.listen(3000, function() { console.log('server now listening at 3000 port');});

js,增刪改查

另外,為了讀取post和put里的body信息,我們需要body-parser這個包:

$ npm install body-parser

使用bodyParser來配置app:

//index.jsvar express = require('express');var db = require('./db.js');var app = express();var bodyParser = require('body-parser');app.use(bodyParser.json());

這時就可以用req.body讀取請求體了.

完整代碼:

var express = require('express');var db = require('./db.js');var app = express();var bodyParser = require('body-parser');app.use(bodyParser.json());app.get('/', function(req, res) { res.header("Access-Control-Allow-Origin", "*"); db.query(db.sql.queryAll, [], function(err, rows) {  console.log('err', err, 'rows', rows);  res.send(JSON.stringify(rows)); });});app.get('/:id', function(req, res) { res.header("Access-Control-Allow-Origin", "*"); db.query(db.sql.queryById, [req.params.id], function(err, rows) {  res.send(JSON.stringify(rows)); });});app.post('', function(req, res) { res.header("Access-Control-Allow-Origin", "*"); console.log(req.body.name); var teacher = req.body; db.query(db.sql.insert, [teacher.name, teacher.username, teacher.email, teacher.sex], function(err, rows) {  if (err) {   res.status(500);   res.send('insert error');  } else {   res.status(200);   res.send('insert success');  } });});app.put('/:id', function(req, res) { res.header("Access-Control-Allow-Origin", "*"); var teacher = req.body; var array = [teacher.name, teacher.username, teacher.email, teacher.sex, req.params.id]; db.query(db.sql.update, array, function(err, rows) {  if (err) {   res.status(500);   res.send('update error');  } else {   res.status(200);   res.send('update success');  } });});app.delete('/:id', function(req, res) { res.header("Access-Control-Allow-Origin", "*"); db.query(db.sql.delete, [req.params.id], function(err, rows) {  if (err) {   res.status(500);   res.send('delete error');  } else {   res.status(200);   res.send('delete success');  } });});app.listen(3000, function() { console.log('server now listening at 3000 port');});

總結

感覺算是理解了語言只是工具這句話.

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久视频免费观看| 国产日韩精品在线播放| 国产精品一二区| 国产成人亚洲精品| 国产精品女人久久久久久| 国产女人18毛片水18精品| 精品美女久久久久久免费| 久久99久久亚洲国产| 日韩高清电影免费观看完整版| 色偷偷偷综合中文字幕;dd| 欧美与欧洲交xxxx免费观看| 国产成人午夜视频网址| 青草青草久热精品视频在线观看| 久久九九免费视频| 欧美极度另类性三渗透| 性欧美xxxx交| 国产一区二区黑人欧美xxxx| 亚洲成色999久久网站| 久久频这里精品99香蕉| 日韩av中文字幕在线播放| 国产精品69av| zzijzzij亚洲日本成熟少妇| 亚洲国产精品999| 国产女人精品视频| 国产在线视频欧美| 欧美激情视频一区二区| 中文字幕欧美精品日韩中文字幕| 91大神在线播放精品| 色诱女教师一区二区三区| 91系列在线观看| 欧美资源在线观看| 欧美国产在线电影| 国产成人亚洲综合青青| 亚洲最大的av网站| 精品日韩视频在线观看| 国产成+人+综合+亚洲欧洲| 国产精品美女久久久久久免费| 另类天堂视频在线观看| 91av在线不卡| 国产999在线| 亚洲高清一二三区| 国产精品9999| 欧美一区深夜视频| 国产啪精品视频| 欧美丝袜一区二区三区| 国产精品va在线播放| 精品久久久久久中文字幕大豆网| 欧美另类交人妖| 精品久久久久久国产| 日韩欧美aaa| 中文字幕综合在线| 91欧美激情另类亚洲| 美女啪啪无遮挡免费久久网站| 欧美激情精品久久久久久免费印度| 国产精品久久久久福利| 日本高清不卡在线| 亚洲成人精品视频| 国产suv精品一区二区三区88区| 懂色aⅴ精品一区二区三区蜜月| 色综合老司机第九色激情| 亚洲一区二区三区毛片| 日韩中文在线观看| 亚洲精品视频免费在线观看| 久久精品男人天堂| 国产精品美女久久久久久免费| 日韩视频在线观看免费| 日韩一区在线视频| 奇米影视亚洲狠狠色| 国产成人高清激情视频在线观看| 九九精品在线观看| 97久久超碰福利国产精品…| 欧美日韩综合视频网址| 亚洲国产欧美一区| 亚洲欧美精品一区| 国产精品福利在线观看网址| 日韩精品在线观看一区| 欧美精品免费在线观看| 欧美一性一乱一交一视频| 久久免费视频网站| 成人黄色大片在线免费观看| 九九热最新视频//这里只有精品| 欧美日韩成人在线观看| 国产免费一区视频观看免费| 日韩欧美极品在线观看| 国产精品久久久久999| 亚洲电影天堂av| 亚洲电影免费观看高清完整版| 成人a视频在线观看| 日本伊人精品一区二区三区介绍| 国产精品美女999| 久久国产精品网站| 欧美福利视频在线| 日韩中文字在线| 久久久久国产精品www| 视频在线一区二区| 91久久精品日日躁夜夜躁国产| 中文字幕日韩精品有码视频| 久久精品国产久精国产一老狼| 成人av色在线观看| 一本色道久久88综合亚洲精品ⅰ| 日韩风俗一区 二区| 在线观看欧美日韩国产| 欧美激情成人在线视频| 91国在线精品国内播放| 国产成人午夜视频网址| 国产成人综合亚洲| 亚洲摸下面视频| 欧美精品在线观看| 国产精品亚洲视频在线观看| 国产日韩在线看片| 国产精品美女久久久久av超清| 国内精品伊人久久| 最近2019中文字幕在线高清| 精品久久久久久久久中文字幕| 久久九九全国免费精品观看| 亚洲男人天堂网| 久久亚洲一区二区三区四区五区高| 国产成人精品在线播放| 97av在线播放| 久久精品青青大伊人av| 欧美国产日韩二区| 色噜噜亚洲精品中文字幕| 国产视频精品自拍| 国产精品第一区| 亚洲国产精品高清久久久| 91免费精品国偷自产在线| 精品国产91久久久| 欧美日韩国产精品一区二区不卡中文| 91在线视频精品| 亚洲欧美另类中文字幕| 日韩色av导航| 亚洲天堂视频在线观看| 国产精品美乳一区二区免费| 亚洲a成v人在线观看| 国产国语刺激对白av不卡| 日韩av中文字幕在线免费观看| 7777精品视频| 久久6免费高清热精品| 欧美日韩免费在线观看| 色爱精品视频一区| 欧美性xxxxx极品| 宅男66日本亚洲欧美视频| 日韩美女激情视频| 亚洲女同精品视频| 久久久久久久一区二区| 国产欧美日韩高清| 日本最新高清不卡中文字幕| 欧美性资源免费| 欧美日韩亚洲网| 精品一区二区三区四区在线| 国产精自产拍久久久久久| 国产欧美一区二区白浆黑人| 久久综合网hezyo| 日韩精品电影网| 欧美日在线观看| 欧美黑人巨大xxx极品| 久久免费国产精品1| 美女扒开尿口让男人操亚洲视频网站| 久久久99久久精品女同性| 九色精品免费永久在线| 国产亚洲欧美日韩美女| 久久精品国产电影| 精品一区电影国产| 久久国产视频网站|