简单说:无需刷新就可以更新页面数据
实例:
ajax请求进行客户端渲染
ajax请求数据再渲染到视图上
router/index.js
// 在Node中每一个js文件的作用域都是独立的,当前js文件中的变量,方法只在当前js文件中有效,这一点一定和浏览器区分。即使外层的index.js已经引入了express模块,在当前router/index.js中也不能使用,要想在当前router/index.js中使用express模块,必须重新引入。
// 在浏览器端,如果一个HTML文档同时引用两个js文件,这两个js文件中的全局文件是共享的
var express = require(“express”);
// 先创建一个路由实例
var route = express.Router();
// 通过路由实例来创建一条“路”,创建一个API接口(application program interface应用程序接口)
/* alt shift a切换块注释 */
/* "路"有以下常用的:
get()客户端向服务器端获取信息(搜索,在浏览器地址栏中输入url地址并回车,发起的也是get请求)
post()客户端向服务器端提交信息(注册用户添加购物车)
put()客户端修改服务器端信息
delete() 客户端要删除服务器的信息
如果一个项目的接口满足这四种请求方式,我们称它是RESTFUL风格的接口
*/
// 第一个参数的路由器的路径(名字),第二个参数是路由的业务逻辑(回调函数)
// req=request负责请求,站在客户端的角度
// res=response负责响应,站在服务器端的角度
// next转到下一个网线
route.get(“/order”,function(req,res,next){
//res.send(“我是订单列表页面”);
// 此方法有硬代码,写死了
// res.sendFile(“C:/Users/ASUS/Desktop/yft/上课代码/2018.8.13使用express手动创建项目/public/order.html”);
// 此种方法还不是最好的
res.sendFile(__dirname.replace(‘router’,‘’)+“./public/order.html”);
// __dirname=“C:/Users/ASUS/Desktop/yft/上课代码/2018.8.13使用express手动创建项目/router”
// 后面介绍的render
// res.render();
});
route.get(“/order/detail”,function(req,res,next){
res.send(“我是订单详情页面”);
});
route.get(“/api/getData”,function(req,res,next){
res.json({
code:200,
message:“成功”,
content:“我是更改后的内容。”
})
});
// 把路由导出
module.exports = route;
/* 路径:
相对路径:如果一个路径是/开头的,表示当前运行文件所在的盘符的根目录
如果一个路径是以./开头的或者直接以文件(夹)名字开头,表示当前运行的js文件所在的目录
如果一个路径以…/开头,表示当前路径的上层目录
*/
// 访问http://localhost:3000/order/detail
order.html
我是订单列表页面2
更改标题