所以,我有一张注册表。每当一个用户按下“提交”按钮时,我都希望将该用户重定向到另一个名为(menus.html)的页面,并且,当该用户被重定向时,我想在服务器端运行查询并在其中写入其用户名和密码。数据库。不幸的是,这是行不通的,因为找不到(menus.html)。那么为什么menus.html不在服务器上,而login.html在服务器上呢?我的错误是:
错误: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);
最佳答案
在客户端脚本中,您要发布到menus.html
,而不是/menus
。
除了为/
明确定义的GET处理程序(发送login.html
)之外,您没有任何设置可以实际提供静态内容。您为菜单定义的唯一内容是/menus
,与/menus.html
不同。
您应该做的是将Express静态模块用于静态文件,然后从此处开始为/menus
(或所需的任何路径)定义帖子。