首頁 > web前端 > js教程 > 主體

express搭建查詢伺服器的方法

php中世界最好的语言
發布: 2018-04-12 17:33:32
原創
1466 人瀏覽過

這次帶給大家express搭建查詢伺服器的方法,express搭建查詢伺服器的注意事項有哪些,以下就是實戰案例,一起來看一下。

本文介紹了使用express搭建一個簡單的查詢伺服器的方法,分享給大家,具體如下:

使用到的技術堆疊有express、mysql.

專案結構:

service
--node_modules
--app.js
--query.js
登入後複製

app.js支援呼叫服務,使用body-parser對request進行處理.

# query.js實作連結資料庫以及查詢資料庫的功能.

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 }))//返回的对象是一个键值对,当extended为false的时候,键值对中的值就为'String'或'Array'形式,为true的时候,则可为任何数据类型。
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:'登录密码错误'
      })
    }
    //模拟生成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;
})()
登入後複製

實作總結:

1.express的入門級用法,以及body-parser和mysql插件的用法。

2.嘗試使用 Inspector調試node程序,實現debugger,by the way 個人更習慣使用gulp來調試.

3.客戶端使用post調取介面的時候要區分Content-Type的差異:

# Content-Type:application/json;charset=UTF-8 參數放在requestPayload

#Content-Type:不設定或application/x-www-form-urlencoded 參數放在Form Data             

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

express multer實作node圖片上傳的具體步奏

vue如何操作靜態圖片和網路圖片

以上是express搭建查詢伺服器的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板