欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用express搭建一個(gè)簡(jiǎn)單的查詢服務(wù)器的方法

 更新時(shí)間:2018年02月09日 14:02:03   作者:一只魚  
本篇文章主要介紹了使用express搭建一個(gè)簡(jiǎn)單的查詢服務(wù)器的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

本文介紹了使用express搭建一個(gè)簡(jiǎn)單的查詢服務(wù)器的方法,分享給大家,具體如下:

使用到的技術(shù)棧有express、mysql.

項(xiàng)目結(jié)構(gòu):

service
--node_modules
--app.js
--query.js

app.js支持調(diào)用服務(wù),使用body-parser對(duì)request進(jìn)行處理.

query.js實(shí)現(xiàn)鏈接數(shù)據(jù)庫(kù)以及查詢數(shù)據(jù)庫(kù)的功能.

app.js代碼如下:

var express = require('express');
var query = require('./query')
var bodyParser = require('body-parser');
var cookieParser = require('cookie-parser');
var app = express();
app.use(bodyParser.urlencoded({ extended: false }))//返回的對(duì)象是一個(gè)鍵值對(duì),當(dāng)extended為false的時(shí)候,鍵值對(duì)中的值就為'String'或'Array'形式,為true的時(shí)候,則可為任何數(shù)據(jù)類型。
app.use(bodyParser.json())
//跨域支持
app.all('*', function(req, res, next) {
  res.header("Access-Control-Allow-Origin", "*");
  res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS');
  res.header("Access-Control-Allow-Headers", "X-Requested-With");
  res.header('Access-Control-Allow-Headers', 'Content-Type');
  next();
});
//登錄
app.post('/login',(req,res)=>{
  var opts = req.body;
  query(" SELECT *FROM `v_users` WHERE userAcount = ?",opts.userName).then((result)=>{
    var response = result[0];
    if(opts.password !== response.u_password){
      return res.send({
        errorCode:'404',
        errorMsg:'登錄密碼錯(cuò)誤'
      })
    }
    //模擬生成loginToken
    var loginToken = response.userAcount + Math.random()*Math.pow(10,16)
    res.send({
      loginToken:loginToken
    })
  })
})
var server = app.listen(3000,()=>{
  console.log('success')
})

query.js代碼如下:

(function() {
  var mysql = require('mysql');
  // var session = require('cookie-session');
  var query = (sql,key) => {
    var connection = mysql.createConnection({
      host: 'localhost',
      user: 'root',
      password: 'root123',
      database: 'm_users'
    });
    connection.connect()
    var promise = new Promise((resolve,reject)=>{
      connection.query(sql,[key], function(error, results, fields) {
        if(error){
          reject(error)
        }else{
          resolve(results);
        }
      });
      connection.end();
    });
    return promise;
  }
  module.exports = query;
})()

實(shí)踐總結(jié):

1.express的入門級(jí)用法,以及對(duì)body-parser和mysql插件的用法。

2.嘗試使用 Inspector調(diào)試node程序,實(shí)現(xiàn)debugger,by the way 個(gè)人更習(xí)慣使用gulp來(lái)調(diào)試.

3.客戶端使用post調(diào)取接口的時(shí)候要區(qū)分Content-Type的區(qū)別:

Content-Type:application/json;charset=UTF-8 參數(shù)放在requestPayload

Content-Type:不設(shè)置或者application/x-www-form-urlencoded 參數(shù)放在Form Data

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 基于 Node.js 實(shí)現(xiàn)前后端分離

    基于 Node.js 實(shí)現(xiàn)前后端分離

    為了解決傳統(tǒng)Web開發(fā)模式帶來(lái)的各種問(wèn)題,我們進(jìn)行了許多嘗試,但由于前/后端的物理鴻溝,嘗試的方案都大同小異。痛定思痛,今天我們重新思考了“前后端”的定義,引入前端同學(xué)都熟悉的NodeJS,試圖探索一條全新的前后端分離模式。
    2016-04-04
  • node.js實(shí)現(xiàn)BigPipe詳解

    node.js實(shí)現(xiàn)BigPipe詳解

    這篇文章主要介紹了node.js實(shí)現(xiàn)BigPipe詳解,BigPipe是 Facebook 開發(fā)的優(yōu)化網(wǎng)頁(yè)加載速度的技術(shù),BigPipe 的核心概念就是只用一個(gè) HTTP 請(qǐng)求,只是頁(yè)面元素不按順序發(fā)送而已,需要的朋友可以參考下
    2014-12-12
  • node如何實(shí)現(xiàn)cmd彈窗交互之inquirer

    node如何實(shí)現(xiàn)cmd彈窗交互之inquirer

    這篇文章主要介紹了node如何實(shí)現(xiàn)cmd彈窗交互之inquirer問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Node Sass依賴問(wèn)題排查思路解析

    Node Sass依賴問(wèn)題排查思路解析

    這篇文章主要為大家介紹了Node Sass依賴問(wèn)題排查思路解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • node.js開發(fā)中使用Node Supervisor實(shí)現(xiàn)監(jiān)測(cè)文件修改并自動(dòng)重啟應(yīng)用

    node.js開發(fā)中使用Node Supervisor實(shí)現(xiàn)監(jiān)測(cè)文件修改并自動(dòng)重啟應(yīng)用

    這篇文章主要介紹了node.js開發(fā)中使用Node Supervisor實(shí)現(xiàn)監(jiān)測(cè)文件修改并自動(dòng)重啟應(yīng)用的功能,從而避免大量重復(fù)的CTRL+C終止程序動(dòng)作,需要的朋友可以參考下
    2014-11-11
  • package.json文件配置詳解

    package.json文件配置詳解

    這篇文章主要介紹了package.json文件配置詳解,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-06-06
  • Nest.js使用multer實(shí)現(xiàn)文件上傳功能

    Nest.js使用multer實(shí)現(xiàn)文件上傳功能

    這篇文章主要為大家詳細(xì)介紹了Nest.js鵝湖使用multer實(shí)現(xiàn)文件上傳功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • Node.js 制作實(shí)時(shí)多人游戲框架

    Node.js 制作實(shí)時(shí)多人游戲框架

    這篇文章主要介紹了Node.js 制作實(shí)時(shí)多人游戲框架,需要的朋友可以參考下
    2015-01-01
  • node爬取微博的數(shù)據(jù)的簡(jiǎn)單封裝庫(kù)nodeweibo使用指南

    node爬取微博的數(shù)據(jù)的簡(jiǎn)單封裝庫(kù)nodeweibo使用指南

    這篇文章主要介紹了node爬取微博的數(shù)據(jù)的簡(jiǎn)單封裝庫(kù)nodeweibo使用指南,需要的朋友可以參考下
    2015-01-01
  • 詳解NodeJS模塊化

    詳解NodeJS模塊化

    簡(jiǎn)單的說(shuō)Node.js就是運(yùn)行在服務(wù)端的JavaScript。Node.js是一個(gè)基于Chrome JavaScript運(yùn)行時(shí)建立的一個(gè)平臺(tái)。Node.js是一個(gè)事件驅(qū)動(dòng)I/O服務(wù)端JavaScript環(huán)境,基于Google的V8引擎,V8引擎執(zhí)行Javascript的速度非???,性能非常好
    2021-06-06

最新評(píng)論