Maison > interface Web > js tutoriel > Serveur de requêtes de builds express

Serveur de requêtes de builds express

亚连
Libérer: 2018-06-06 14:48:56
original
1520 Les gens l'ont consulté

Cet article présente principalement comment utiliser express pour créer un serveur de requêtes simple. Maintenant, je le partage avec vous et le donne comme référence.

Cet article présente la méthode d'utilisation d'Express pour créer un serveur de requêtes simple et le partage avec tout le monde. Les détails sont les suivants :

La pile technologique utilisée comprend Express et MySQL.

Structure du projet :

service
--node_modules
--app.js
--query.js
Copier après la connexion

app.js prend en charge les services d'appel et utilise un analyseur de corps pour traiter les requêtes

query.js implémente les fonctions de liaison et d'interrogation de la base de données.

Le code app.js est le suivant :

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')
})
Copier après la connexion

Le code query.js est le suivant :

(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;
})()
Copier après la connexion

Résumé pratique :

1 . Utilisation d'entrée de gamme d'Express, ainsi que utilisation de body-parser et du plug-in mysql.

2. Essayez d'utiliser Inspector pour déboguer le programme de nœud et implémenter le débogueur, d'ailleurs, personnellement, je suis plus habitué à utiliser gulp pour le débogage

3. interface post-appel, elle doit distinguer Content- La différence entre Type :

Content-Type : application/json;charset=UTF-8 le paramètre est placé dans requestPayload

Content-Type : non défini ou le paramètre application/x-www-form-urlencoded, je l'ai mis au-dessus des données du formulaire

et je l'ai compilé pour tout le monde. J'espère qu'il sera utile à tout le monde à l'avenir.

Articles associés :

Utiliser Cheerio pour créer un robot d'exploration Web simple dans Node.js (tutoriel détaillé)

Comment faire in vue Implémenter le composant parent pour transmettre plusieurs données aux composants enfants

Comment utiliser Native dans React pour implémenter une actualisation déroulante personnalisée pour extraire la liste chargée

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal