express+nodeJS搭建服务、前后端交互、后端路由(一)

Express 是一个基于 Node.js 平台的极简、灵活的 web 应用开发框架(集成web服务器+mvc),它提供一系列强大的特性,帮助你创建各种 Web 应用(相当于原生js与jQuery的关系),当然其实不用框架,使用node自己弄一个web服务器和mvc框架也不是很麻烦(Node为网络而生,当然强大的不止这点),但是有优秀的express,封装了很多常用功能,推荐用。

1.在项目根目录下cnpm init创建package.json

2.安装express --save

3.创建程序入口文件(main) 例express.js:

var express = require("express"); //加载express构造函数
var app = express(); //生成创建服务的实例
var bodyParser = require("body-parser");//获取post请求参数

app.use(express.static("statics"));//指定资源路径

app.use(bodyParser.json());//处理以json格式的提交
app.use(bodyParser.urlencoded({//处理以form表单的提交
	extended: true
}))

//路由
app.get("/", function(req, res){//这里res和req对象是由express封装过的了
	res.send(`<p>
				my first express!
			</p>`);
})

app.post("/re.html", function(req, res){
	console.log(req.body)//请求的参数对象
	res.json({//给前端返回json格式的数据
		code: 0,
		msg: "登录成功"
	})
})

app.listen(8848, ()=>{
	console.log("启动成功");
})
路由(Routing):是由一个 URI(或者叫路径)和一个特定的 HTTP 方法(GET、POST 等)组成的,涉及到应用如何响应客户端对某个网站节点的访问
如何定义:

app.METHOD(PATH, HANDLER)。其中,app 是一个 express 实例;METHOD 是某个 HTTP 请求方式中的一个;PATH 是服务器端的路径;HANDLER 是当路由匹配到时需要执行的函数。



模拟前端发送post请求的页面 例 login.html

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>登录页</title>
</head>
<body>
	<h1>哈哈哈哈</h1>
	<form>
		<label for="txt">username</label><br/>
		<input id="txt" type="text" name=""></br>
		<label for="pwd">password</label></br>
		<input id="pwd" type="password" name="">
		<button>登录</button>
	</form>
<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript">
	$("button").click(function(e){
		e.preventDefault();
		$.post("/re.html", {//该ajax请求指向的是后台路由(express.js中的路由)
			username: $("#txt").val(),
			password: $("#pwd").val()
		}, function(data){
			console.log(data)
		})

	})
</script>
</body>
</html>


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值