項目1:ポストデータベースにサーバ応答データを取得するための要求と提示。
要件:
実装:
1)プロジェクトのディレクトリ構造
2)サーバコード:
発現必要=定数( 'エクスプレス' ); // ユーザを導入ルータ CONST = userRouter(」./ルータ/ user.jsのが必要); // 第三の中間体に導入 ( 'bodyParser'必要CONST = bodyParser )。 // Webサーバーの作成 するvarサーバー= エクスプレスを(); server.listen( 3001 ); //は、次の公開ディレクトリister.htmlに静的リソースをホスティング server.use(express.static( '国民)); // 使用body-ポストリクエストミドルウェアパーサーは、オブジェクトにデータを解析する (bodyParser.urlencoded({server.use 拡張:falseに })); // ルータ/ユーザマウントするユーザ server.use( '/ユーザ、userRouter)を、
3)コードルータ
// 導入mysqlの接続プール・オブジェクト のconst =プール(」../ pool.js'を必要と); エクスプレスCONST =( 'Expressの必要); //は空ルータの作成 VARルータ= express.Routerを(); // 追加ルーティング // 1、ユーザー登録 router.post( '/登録'、(REQ、RES)=> { // 要求されたデータのポスト取得 VAR OBJ = req.bodyを; にconsole.log(OBJを); // もしユーザ名空である VAR $ =のuname obj.uname; のiF(!{$のuname) res.send({コード: 401、MSG: 'は、unameが必要です' }); // ストップの実行はバック続けて リターンを; } //はパスワードが空であるか否かを判断する VAR $ upwd = obj.upwd; IF(!$ Upwd){ res.send({コード: 402、MSG: 'upwd必要です' }); リターン; } // メールボックスかどうかを決定します空の VARメールで$ = obj.email; のiF(!メールで$){ res.send({コード: 403、MSG: 'メールで要求する' }); リターン; } //は、携帯電話が空であるかどうかを決定する VAR $ =電話OBJドットフォン; IF(!$電話){ res.send({コード:404、MSG: '電話が必要' }); リターン; } // データレジスタxz_userデータテーブルに挿入されたSQLステートメント、成功応答コード{実行:200は、MSGである: "登録SUC"} pool.queryを( " INTO DEMP INSERT(のuname、upwd、メールに、電話番号)の値(?、?、?、?)」、[obj.uname、obj.upwd、obj.email、obj.phone]、(ERR、結果)=> { IF(ERR)スローERR; にconsole.log(結果); }); res.send( '登録成功' ); }); // 派生 module.exportsは=ルータ。
4)接続プールコード
MySQLの=一定( 'MySQLの'必要); // 接続プールオブジェクトの作成 VARをプール= mysql.createPool({ ホスト: '127.0.0.1' 、 ポート: '3306' 、 ユーザー: '****' 、 パスワード: " **** ' データベース: ' XZ ' 、 connectionLimit: 20である }); //は、接続プール・オブジェクトの導出 module.exportsは=プール。
5)フロントエンドコード
<!DOCTYPE HTML > < HTML > < ヘッド> < タイトル> </ タイトル> </ ヘッド> < 身体> < フォームアクション= "/ユーザー/登録" 方式= "ポスト" > 用户:< 入力タイプ= "text"の名= "は、uname" > < BR > 密码:< 入力タイプ= "テキスト" 名前= "upwd" > <入力タイプ= "テキスト" 名前= "メール" > < BR > 手机:< 入力タイプ= "テキスト" 名前= "電話" > < BR > < 入力タイプ= "提出" > </ 形成> </ ボディ> < / HTML >