Maison > interface Web > js tutoriel > le corps du texte

Comment créer un serveur de requêtes en express

php中世界最好的语言
Libérer: 2018-04-12 17:33:32
original
1461 Les gens l'ont consulté

Cette fois, je vais vous montrer comment construire un serveur de requêtes avec Express. Quelles sont les précautions pour construire un serveur de requêtes avec Express. Voici un cas pratique, jetons un oeil.

Cet article explique comment utiliser Express pour créer un serveur de requêtes simple et le partager avec tout le monde. Les détails sont les suivants :

Les piles technologiques utilisées incluent 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 l'utilisation de body-parser pour traiter les demandes

. query.js implémente les fonctions de liaison à la base de données 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é de la pratique :

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

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

3.Lorsque le client utilise l'interface post-appel, il doit distinguer la différence de Content-Type :

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

Content-Type : n'est pas défini ou le paramètre application/x-www-form-urlencoded est placé dans les données du formulaire ​ ​ ​ ​

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !

Lecture recommandée :

Express+multer implémente les étapes spécifiques pour télécharger des images de nœuds

Comment vue exploite les images statiques et les images réseau

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!