首页 > 编程 > HTML > 正文

使用express搭建一个简单的查询服务器的方法

2024-08-26 00:20:26
字体:
来源:转载
供稿:网友

本文介绍了使用express搭建一个简单的查询服务器的方法,分享给大家,具体如下:

使用到的技术栈有express、mysql.

项目结构:

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

app.js支持调用服务,使用body-parser对request进行处理.

query.js实现链接数据库以及查询数据库的功能.

app.js代码如下:

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

query.js代码如下:

(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.express的入门级用法,以及对body-parser和mysql插件的用法。

2.尝试使用 Inspector调试node程序,实现debugger,by the way 个人更习惯使用gulp来调试.

3.客户端使用post调取接口的时候要区分Content-Type的区别:

Content-Type:application/json;charset=UTF-8 参数放在requestPayload

Content-Type:不设置或者application/x-www-form-urlencoded 参数放在Form Data

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VeVb武林网。


注:相关教程知识阅读请移步到HTML教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表