express安装、配置、接受请求、响应

express安装、配置、接受请求、响应

1、在cmd中进入项目的根目录下,安装express:npm  install   express

2、express只是在原生的nodejs中添加了一些功能,保留了原生的 功能

比如res.write()和res.end()都保留,多了res.send()---可以直接返回json格式的数据,而res.write()则会报错

3、介绍

// 1、创建服务
const express = require('express');
let server = express();
// 2、监听端口
server.listen(8080);
// 3、处理请求
server.use('地址',(req,res)=>{
	// 返回数据,可以 直接返回json
	res.send({a:1});
	// 断开连接
	res.end();
});

--------------------
// 处理请求有3种方法
server.get('/',res)=>{});   //接受用户的get请求
server.post('/',res)=>{});  //接受用户的post请求
server.use('/',res)=>{});   //接受用户的get  post请求

具体例子

服务端:

const express = require('express');
let server = express();

server.get('/',res)=>{
    console.log('get');
});

server.post('/',res)=>{
    console.log('post');
});

server.use('/',res)=>{
    console.log('info');
});

server.listen(8080);

客户端:

<!doctype html>
<html>
    <head>
        <meta charset="utf-8"/>
    </head>
    <body>
        <form action='http://localhost:8080' method="POST">
            用户名:<input type='text' name="user" value=''><br />
            密码:<input type='password' name="pass" value=""/><br />
            <input type="submit" value='提交'>
        </form>
    </body>
</html>

 

4、express的中间件(插件)---express-static:用于处理静态文件

例子:

服务端代码:

const express = require('express');
let server = express();

let expressStatic = require('express-static');
// 告诉服务器去哪里读取静态文件
// 参数是静态文件的路径
server.use(expressStatic('./www'));

server.listen(8080);

在浏览器的地址栏输入如下:

 

5、模拟一个客户端进行登录的简单场景

客户端代码:

<!doctype html>
<html>
    <head>
        <meta charset="utf-8"/>
        <script src='jquery-3.1.1.min.js'></script>
    </head>
    <body>
        <form action='http://localhost:8080'>
            用户名:<input type='text' name="user" id="user" value=''><br />
            密码:<input type='password' name="pass" id="pass" value=""/><br />
            <input type="button" value='登陆' id="btn">
        </form>
       <script>
           $(function(){
               document.getElementById('btn').addEventListener('click',function(e){
                   let user = $('#user').val();
                   let pass = $('#pass').val();
                   let data = {user:user,pass:pass};
                    //这个请求处理的地址和服务器端相配合
                   let url = '/login';
                   $.ajax({
                       url:url,data:data,dataType:'json',type:'GET',success:(data)=>{
                           console.log(data);
                       },error:(res)=>{
                           console.log(res);
                       }
                   });
               });
           });
       </script>
    </body>
</html>

服务端代码:

const express = require('express');
let server = express();

let expressStatic = require('express-static');

// 存用户数据代替数据库
let users = {
    'zhang':'12','li':'22','ss':'33'
};

// 处理请求
server.get('/login',res)=>{
    let params = req.query;
    console.log(params);
    let user = params['user'];
    let pass = params['pass'];
    
    if(users[user] == null ){
        res.send({status:'0',msg:'此用户不存在',data:''});
    }else if(users[user] != pass){
        res.send({status:'0',msg:'密码不正确',data:''});
    }else{
        res.send({status:'2',msg:'登陆成功',data:''});
    }
});

// 告诉服务器去哪里读取静态文件
// 参数是静态文件的路径
// 在地址栏输入localhost:8080/a.html,会显示其页面内容
server.use(expressStatic('./www'));

server.listen(8080);

 

 

 

 

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...