版权声明:所有原创文章未经本人同意不得随意转载,谢谢 https://blog.csdn.net/tangcc110/article/details/82971206
"开课吧"lesson9
express只是给nodejs增加了一些基本的功能,可以更好用其它模块来拓展如express-static。
1.目录结构
2.a.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>express</title> </head> <body> <form action="http://localhost:8087/user" method="post"> <input type="text" name="username" id="u"> <input type="text" name="psw" id="psw" > <input type="button" onclick="register()" value="register"> <input type="button" onclick="login()" value="login"> </form> <script src="https://cdn.bootcss.com/jquery/1.10.2/jquery.min.js"></script> <script type="text/javascript"> const log = console.log; let eUsename = document.getElementById("u"); let ePsw = document.getElementById("psw"); function register() { $.ajax({ type:"post", data:{"action":"register","username":eUsename.value,"psw":ePsw.value}, url:"/user", success:function(data){ var json = eval("("+ data +")" ); log(data) log(json.status,"---",json.msg) }, error:function(err){ log("err=",err); } }) } function login() { $.ajax({ type:"get", data:{"action":"login","username":eUsename.value,"psw":ePsw.value}, url:"/user", success:function(data){ var json = eval("("+ data +")" ); log(data) log(json.status,"---",json.msg) }, error:function(err){ log("err=",err); } }) } </script> </body> </html>
3.server.js
const express = require("express"); // 只是提供了基本的功能 const server = express(); const expressStatic = require("express-static"); // 处理静态文件 const log = console.log; // server.use("/a.html", function (req, res) { // 可以接收get和post // res.send("bbbb") // res.end() // }) // server.get("/a.html",function(req,res){ // 只能接收get请求 // res.send("get"); // res.end(); // }) // server.post("/a.html",function(req,res){// 只能接收post请求 // res.write("post"); // console.log("send a post") // res.end(); // }) //接口设置 http://localhost:8087/user?action=register&username=tcc&psw=123 //接口设置 http://localhost:8087/user?action=login&username=tcc&psw=123 let users = {}; // 现在我们没有数据库,所以定义一个对象来存储用户的信息. server.get("/user",function(req,res){ let action = req.query["action"] //注意一定是用get方法,req.query才正确的返回值.use post都不行 let uname = req.query["username"] let psw = req.query["psw"] if(action == "register"){ if(users[uname]){ res.send('{"status":false,msg:"已经注册"}') }else{ users[uname] = psw; res.send('{"status":false,msg:"注册成功"}') } }else if(action == "login"){ if(!users[uname]){ res.send('{"status":false,msg:"用户名不正确"}') }else if(users[uname] == psw){ res.send('{"status":true,msg:"登录成功"}') }else{ res.send('{"status":false,msg:"其它原因登录失败"}') } }else{ res.send("no register and login") } }) server.use(expressStatic("./www")); // 用了express-static 后, http://localhost:8087/a.html就可以直接进入a.html页面. server.listen(8087)
brief summary:
以上示例是express框架的简单使用,当然,仅限于get方法提交请求。