Heim >Web-Frontend >js-Tutorial >Express erstellt einen einfachen Abfrageserver

Express erstellt einen einfachen Abfrageserver

小云云
小云云Original
2018-02-11 09:19:021130Durchsuche

Dieser Artikel stellt Ihnen hauptsächlich die Methode zum Erstellen eines einfachen Abfrageservers mit Express vor. Jetzt werde ich ihn mit Ihnen teilen und Ihnen eine Referenz geben. Folgen wir dem Herausgeber und schauen wir uns das an. Ich hoffe, es kann allen helfen.

Zu den verwendeten Technologie-Stacks gehören Express und MySQL.

Projektstruktur:


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

app.js-Support. Anruf Der Dienst und der Body-Parser verwenden, um die Anfrage zu verarbeiten.

query.js implementiert die Funktionen zum Verknüpfen und Abfragen der Datenbank wie folgt :


query.js-Code lautet wie folgt:

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')
})


Übungszusammenfassung:

(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. Einsteiger-Nutzung von Express sowie Verwendung von Body-Parser- und MySQL-Plug-Ins.

2. Versuchen Sie, den Inspector zum Debuggen zu verwenden und den Debugger zu implementieren.

Das Client verwendet Post, um die Schnittstelle aufzurufen. Beim Unterscheiden des Unterschieds zwischen Inhaltstyp:

Content-Type: application/json;charset=UTF-8-Parameter wird in requestPayload

Content-Type: Keine festgelegten oder application/x-www-form-urlencoded-Parameter in den Formulardaten

Das obige ist der detaillierte Inhalt vonExpress erstellt einen einfachen Abfrageserver. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Erfahren Sie mehr über NodeJSNächster Artikel:Erfahren Sie mehr über NodeJS