ホームページ >ウェブフロントエンド >jsチュートリアル >Expressでクエリサーバーを構築する方法

Expressでクエリサーバーを構築する方法

php中世界最好的语言
php中世界最好的语言オリジナル
2018-04-12 17:33:321480ブラウズ

今回は、Express でクエリ サーバーを構築する方法について説明します。 Express でクエリ サーバーを構築する際の 注意事項 は何ですか?実際の事例を見てみましょう。

この記事では、Express を使用して簡単なクエリ サーバーを構築し、それをみんなで共有する方法を紹介します。詳細は次のとおりです。 使用されるテクノロジー スタックには、express と mysql が含まれます。 プロジェクト構成:

service
--node_modules
--app.js
--query.js
app.js は、サービスの呼び出しと、ボディパーサーを使用したリクエストの処理をサポートしています。

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

を使用してノード プログラムをデバッグし、デバッガーを実装してみます。ちなみに、個人的には、デバッグには gulp を使用する方が慣れています。 3. クライアントが

post call インターフェイスを使用する場合、Content-Type の違いを区別する必要があります:

Content-Type:application/json;charset=UTF-8 パラメーターが requestPayload に配置されています

Content-Type: が設定されていないか、application/x-www-form-urlencoded パラメーターがフォーム データに配置されています

この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

Express+multer はノードイメージをアップロードするための特定の手順を実装します

vue が静的イメージとネットワークイメージを操作する方法

以上がExpressでクエリサーバーを構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。