node.js 實(shí)現(xiàn)搭建服務(wù)器并連接數(shù)據(jù)庫(kù)實(shí)現(xiàn)增刪查

最近寫(xiě)vue摘符,有時(shí)候打包后贤斜,想看看打包后的dist的效果,就想搭建一個(gè)簡(jiǎn)易的服務(wù)器议慰,就去看了看node蠢古,發(fā)現(xiàn)node真的是特別強(qiáng)大可以實(shí)現(xiàn)搭建服務(wù)器并連接數(shù)據(jù)庫(kù)后,繼而實(shí)現(xiàn)前后端同時(shí)寫(xiě)在一個(gè)項(xiàng)目里别凹,相當(dāng)全棧的不容錯(cuò)過(guò)啊
node環(huán)境先安裝好草讶。
首先npm init
去初始化package.json
然后npm install express --save

//test.js
var express = require("express");
var app = express();
//mysql 連接方法 你首先要有自己本地的mysql, 我這里就不細(xì)說(shuō)了炉菲,這個(gè)host如果你有線上服務(wù)器的堕战,可以寫(xiě)線上的
var mysql = require('mysql');
var connection = mysql.createConnection({
    host: 'localhost',
    user: 'root',  
    password: '123456', 
    database: 'html'
});
//增
app.get("/addStudent", (req, res) => {

    const id = req.query.id;
    const name = req.query.name;
    const age = req.query.age;


    const sql = 'INSERT INTO student (id,name,age) VALUES (?,?,?)'
    const value = [id, name, age];

    connection.query(sql, value, (error, data) => {
        if (error) {
            var result = {
                "status": "500",
                "message": "服務(wù)器錯(cuò)誤"
            }
            return res.jsonp(result);
        } else {
            var result = {
                "status": "200",
                "message": "success",
                data: data
            }
            return res.jsonp(result);
        }


    });
})
//查
app.get("/selectStudent", (req, res) => {

    const id = req.query.id

    const sql = 'select * from student where id =?'
    connection.query(sql, id, (error, data) => {
        if (error) {
            var result = {
                "status": "500",
                "message": error
            }
            return res.jsonp(result);
        } else {
            var result = {
                "status": "200",
                "message": "success",
                data: data
            }
            return res.jsonp(result);
        }


    });
})


//刪
app.get("/deleteStudent",(req,res)=>{
    const id = req.query.id
    const sql = "delete from student where id = ?"
    connection.query(sql,id,(error,data)=>{
        if (error) {
            var result = {
                "status": "500",
                "message": error
            }
            return res.jsonp(result);
        } else {
            var result = {
                "status": "200",
                "message": "success",
                data: data
            }
            return res.jsonp(result);
        }
    })
})

//如果沒(méi)有路徑取靜態(tài)目錄
app.use(express.static("public"));


// Listen

app.listen(3000)
console.log("我啟動(dòng)了")

靜態(tài)頁(yè)面我們放到public 下index.html里,代碼我直接貼進(jìn)來(lái),其中public跟test.js同級(jí)
就是通過(guò)引入jq拍霜,然后get向后臺(tái)發(fā)請(qǐng)求

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <script type="text/javascript" src="jquery.min.js"></script>
</head>

<body>
    <div>
        學(xué)生id:<input type="text" name="id">
        學(xué)生姓名:<input type="text" name="name">
        學(xué)生年齡:<input type="text" name="age">
        <input type="button" id="btn1" value="添加">
    </div>
    <div>
        學(xué)生id:<input type="text" name="idSearch">
        <input type="button" id="btn2" value="搜索">
        <div class="isShowClass">
        </div>
    </div>
    <script type="text/javascript">
    function deleteBox(id) {
        $.get("/deleteStudent",{
            id:id
        },function(date){
            if(data.status){
                alert("刪除成功");
                
            }

        })
    }

    $(function() {
        $("#btn2").click(function() {
            var id = $("input[name=idSearch]").val();

            $.get("/selectStudent", {
                id: id,
            }, function(date) {

                let str = ''
                let data = date.data;
                for (var i = 0; i < data.length; i++) {
                    str += "<p>" + data[i].id + "===" + data[i].name + "===" + data[i].age + "</p><input onclick='deleteBox(" + id + ")' type='button' id='btn3' value='刪除'>"
                }
                console.log(str)
                $(".isShowClass").html(str)

            })
        })
        $("#btn1").click(function() {
            var id = $("input[name=id]").val();
            var name = $("input[name=name]").val();
            var age = $("input[name=age]").val();
            $.get("/addStudent", {
                id: id,
                name: name,
                age: age
            }, function(data) {

                console.log(data)

            })
        })


    })
    </script>
</body>

</html>

這個(gè)看似簡(jiǎn)單嘱丢,實(shí)際上可以做好多事情,最簡(jiǎn)單的就是如果你買(mǎi)了服務(wù)器和域名祠饺,可以直接放到服務(wù)器上越驻,就可以實(shí)現(xiàn)一個(gè)線上地址,實(shí)現(xiàn)全棧的目標(biāo)道偷。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末缀旁,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子勺鸦,更是在濱河造成了極大的恐慌并巍,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,470評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件换途,死亡現(xiàn)場(chǎng)離奇詭異懊渡,居然都是意外死亡刽射,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)剃执,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)誓禁,“玉大人,你說(shuō)我怎么就攤上這事忠蝗∠趾幔” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,577評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵阁最,是天一觀的道長(zhǎng)戒祠。 經(jīng)常有香客問(wèn)我,道長(zhǎng)速种,這世上最難降的妖魔是什么姜盈? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,176評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮配阵,結(jié)果婚禮上馏颂,老公的妹妹穿的比我還像新娘。我一直安慰自己棋傍,他們只是感情好救拉,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,189評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著瘫拣,像睡著了一般亿絮。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上麸拄,一...
    開(kāi)封第一講書(shū)人閱讀 51,155評(píng)論 1 299
  • 那天派昧,我揣著相機(jī)與錄音,去河邊找鬼拢切。 笑死蒂萎,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的淮椰。 我是一名探鬼主播五慈,決...
    沈念sama閱讀 40,041評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼主穗!你這毒婦竟也來(lái)了泻拦?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,903評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤黔牵,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后爷肝,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體猾浦,經(jīng)...
    沈念sama閱讀 45,319評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡陆错,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,539評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了金赦。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片音瓷。...
    茶點(diǎn)故事閱讀 39,703評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖夹抗,靈堂內(nèi)的尸體忽然破棺而出绳慎,到底是詐尸還是另有隱情,我是刑警寧澤漠烧,帶...
    沈念sama閱讀 35,417評(píng)論 5 343
  • 正文 年R本政府宣布杏愤,位于F島的核電站,受9級(jí)特大地震影響已脓,放射性物質(zhì)發(fā)生泄漏珊楼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,013評(píng)論 3 325
  • 文/蒙蒙 一度液、第九天 我趴在偏房一處隱蔽的房頂上張望厕宗。 院中可真熱鬧,春花似錦堕担、人聲如沸已慢。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,664評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)佑惠。三九已至,卻和暖如春厕鹃,著一層夾襖步出監(jiān)牢的瞬間兢仰,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,818評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工剂碴, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留把将,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,711評(píng)論 2 368
  • 正文 我出身青樓忆矛,卻偏偏與公主長(zhǎng)得像察蹲,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子催训,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,601評(píng)論 2 353