2017-03-25 13 views
0

したがって、私は登録フォームを持っています。一人のユーザーがsubmitボタンを押すと、そのユーザーを(menus.html)と呼ばれる別のページにリダイレクトし、リダイレクトされたときにサーバー側でクエリを実行し、ユーザー名とパスワードをデータベース。残念ながら、(menus.html)が見つからないため、これは機能しません。では、なぜmenus.htmlはサーバー上にないのですか?login.htmlは何ですか?私のエラーは、次のとおりです。Node.JSサーバーでページが見つかりません

ERROR:http://127.0.0.1:3000/menus.htmlから404が見つからない

フロントエンド側:

$("#submit_reg").click(function(){ 
     var username = $("#usr").val(); 
     var password = $("#pwd").val(); 

     $.ajax({ 
      url : "menus.html", 
      type : "POST", 
      data : { 
      user: username, 
      pass: password, 
      }, 
      success : function(data){ 
      console.log("The data :) " + data + " :) " + "has been posted to menus.html"); 
      } 
     }); 
}); 

サーバー側:あなたのクライアント側のスクリプトで

var app = require('express')(); 
var mysql = require('mysql'); 
var bodyParser = require('body-parser'); 
var db = mysql.createConnection({ 
    host : "127.0.0.1", 
    user : "root", 
    password : "", 
    database : "user_data", 
    port : 3306 
}); 

db.connect(); 

app.get('/',function(req, res){ 
    res.sendFile(__dirname+'/login.html'); 
}); 
app.post('/menus',function(req, res){ 
    res.sendFile(__dirname+'/menus.html'); 
}); 
app.listen(3000); 

答えて

0

、あなた」 ではなく、menus.htmlに転記し直してください。

の明示的に定義されたGETハンドラとは別に、login.htmlを送信する以外に、静的コンテンツを実際に配信するように何も設定されていません。メニューで定義したのは/menusで、これは/menus.htmlとは異なります。

スタティックファイルにExpressスタティックモジュールを使用してから、そこから開始するように/menus(または任意のパス)の投稿を定義する必要があります。

関連する問題