Heim  >  Artikel  >  Web-Frontend  >  Express erstellt einen Abfrageserver

Express erstellt einen Abfrageserver

亚连
亚连Original
2018-06-06 14:48:561470Durchsuche

In diesem Artikel wird hauptsächlich die Verwendung von Express zum Erstellen eines einfachen Abfrageservers vorgestellt. Jetzt teile ich ihn mit Ihnen und gebe ihn als Referenz.

In diesem Artikel wird die Methode zum Erstellen eines einfachen Abfrageservers mit Express vorgestellt und mit allen geteilt. Die Details lauten wie folgt:

Der verwendete Technologie-Stack umfasst Express und MySQL.

Projektstruktur:

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

app.js unterstützt das Aufrufen von Diensten und verwendet Body-Parser, um Anfragen zu verarbeiten.

query.js implementiert die Funktionen der Verknüpfung mit der Datenbank und der Abfrage der Datenbank.

app Der .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')
})

Der query.js-Code lautet wie folgt:

(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;
})()

Praktische Zusammenfassung:

1 -Niveau-Nutzung von Express sowie die Verwendung von Body-Parser und MySQL-Plug-Ins.

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

3 Wenn der Client das verwendet Nach dem Aufruf der Schnittstelle muss unterschieden werden: Content-Type-Unterschied:

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

Content-Type: nicht festgelegt oder Anwendung /x-www-form-urlencoded Parameter Ich habe ihn über Formulardaten

eingefügt und für alle zusammengestellt. Ich hoffe, dass er in Zukunft für alle hilfreich sein wird.

Verwandte Artikel:

Mit Cheerio einen einfachen Webcrawler in Node.js erstellen (ausführliche Anleitung)

Wie es geht in vue Implementieren Sie eine übergeordnete Komponente, um mehrere Daten an untergeordnete Komponenten zu übergeben

So verwenden Sie Native in React, um eine benutzerdefinierte Pulldown-Aktualisierung für eine geladene Pullup-Liste zu implementieren

Das obige ist der detaillierte Inhalt vonExpress erstellt einen 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