Home > Web Front-end > JS Tutorial > How to build a query server in express

How to build a query server in express

php中世界最好的语言
Release: 2018-04-12 17:33:32
Original
1497 people have browsed it

This time I will bring you how to build a query server with express. What are the precautions for express to build a query server? The following is a practical case, let’s take a look.

This article introduces the method of using express to build a simple query server and shares it with everyone. The details are as follows:

The technology stacks used include express and mysql.

Project structure:

service
--node_modules
--app.js
--query.js
Copy after login

app.js supports calling services and using body-parser to process requests.

query.js implements the functions of linking to the database and querying the database.

The app.js code is as follows:

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')
})
Copy after login

The query.js code is as follows:

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

Practice summary:

1. Entry-level usage of express, as well as usage of body-parser and mysql plug-ins.

2. Try to use Inspector to debugnode program and implement debugger, by the way. I am more accustomed to using gulp for debugging.

3.When the client uses post to call the interface, it must distinguish the difference of Content-Type:

Content-Type:application/json;charset=UTF-8 parameter is placed in requestPayload

Content-Type: is not set or application/x-www-form-urlencoded parameter is placed in Form Data ​​​​​

I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the php Chinese website!

Recommended reading:

Express multer implements the specific steps to upload node images

How vue operates static images and network images

The above is the detailed content of How to build a query server in express. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template