express框架的简介与使用

express框架的简介与使用

什么是Express
Express是目前流行的基于node.js运行环境的web开发框架,可以快速地搭建一个完整功能的网站。
express框架的使用
1.一套基本操作:引入模块+创建服务器+返回文件+监听端口
var express = require(“C:/Program Files/nodejs/node_modules/express”);
//引用node.js中的express模块
var app = express();//等同于 new express(),底层设计
app.use(express.static(__dirname+"/html"));
app.listen(8089);
//express.static()设置静态路由,括号中的所有文件夹和文件都会变成路由文件,上面的/html也可以是项目的名称,可以提供图片,css,Javascript格式的文件
//app.listen设置访问本程序的端口号
(后端文件与项目文件的目录结构关系后端文件与项目文件的目录结构关系

2.响应对象
响应json格式的数据

<button id="btn_json">ajax请求</button>
---------以下为script标签代码-----------
$("#btn_json").on("click",function(){
$.get("json.text",function(data){
		console.log(data);
		$("body").append(data.name+":"+data.age);
	});
});

------------------以下为后端服务器代码-------------------------------------
app.get("/json.text",function(req,res){
	res.json({name:"lily",age:18});
})

注意:$.get是jquery_ajax请求数据的方法:
$.get(url,data,function(response,status,xhr){…})
url 必需
data (可选)发送到服务器的参数
success(response,status,xhr) 可选。请求成功的回调函数
response 结果数据
status 请求的状态
xhr XMLHttpRequest 对象
响应jsonp格式的数据

  <button id="btn_jsonp">jsonp请求</button>

---------------以下为script标签代码---------------------
$("#btn_jsonp").on("click",function(){
	$.getJSON("/jsonp.text?cb=?",function(data){
		console.log(data);
		$("body").append(data.user);
	})
});
--------------------------以下为后端服务器代码------------------------------------
app.get("/jsonp.text",function(req,res){
	app.set('jsonp callback name', 'cb');
	res.jsonp({ user: 'karen' });
})

重定向

    <form action="form_data" method="post">
    	<input type="submit" value="发送数据"/>
    </form>
    ----------------------------
    app.get("/index.html",function(req,res){
    	res.sendFile(__dirname+"/index.html");
    })
    
    app.post("/form_data",function(req,res){
    	res.redirect("/index.html");
    })

重定向指向的文件必须经过获取,地址栏端口号后的URI变化的顺序为:
当前页面 xx.html -> form_data -> index.html
发送任何字段

app.get("/index.html",function(req,res){
res.send("skrskrskrskr");
})
-------------------------------
//send用于发送任何一串字符,必须用引号包裹
发送文件
res.sendFile(__dirname+"/index.html");
终结响应处理流程
app.get("/index.html",function(req,res){
	res.end("skrskrskrskr");
}

------------显示结果如下--------------
在这里插入图片描述
设置响应状态码并将其以字符串的形式发送给前端
app.get("/index.html",function(req,res){
res.sendStatus(404);
// 以上等价于 res.status(404).send(“Not Found”);
})
-----------显示结果如下–http状态码变为404并自动设置了响应头“ Not Found”---------------------
在这里插入图片描述

在这里插入图片描述
3.post请求

<form action="form_data" method="post">
	<input type="submit" value="发送数据"/>
</form>
----------------------------------
app.post("/form_data",function(req,res){
	res.sendFile(__dirname+"/html/station.html");
})

4.所有请求都适用
app. all ("/index.html",function(req,res){
res.send(‘6666666’);
})
====无论什么请求方式,只要前端请求了/index.html,就返回字段’6666666’
app. all (" * " , function(req,res){
res.send(‘6666666’);
})
=====无论前端请求什么,都返回字段’6666666’,如下:
在这里插入图片描述
此功能适用于当用户输入地址有误时,给前端用户发送一个特定的错误页面。
注意:all与其他请求方式get、post等优先级相同,一般放在所有其他指定了的请求方式的代码后面。
5.动态路由
app.get("/news/money/:id",function(req,res){
console.log(req.params) ;
console.log(req.params.id);
})
----------------------打印结果如下------------
{ id: ‘10091.html’ } //对象
10091.html
对应文件目录结构如下:
在这里插入图片描述
app.get("/news/money/:id",function(req,res){
res.sendFile(__dirname+"/news/money/"+req.params.id);
})
在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值