NodeJS_day04

复习:
HTTP协议 浏览器和web服务器之间通信的协议
浏览器发出请求,web服务器做出响应
请求方法 get/post…
请求-响应状态码
1** 2** 成功的响应 3** 响应的重定向 4** 客户端错误
5** 服务器端错误
请求url
请求、响应的头信息
nodejs http模块 模拟浏览器发出请求 get
http模块 构建web服务器
createServer() listen(3000)
server.on(‘request’,(req,res)=>{
req.method/url/headers
res.writeHead()/write()/end()
})
nodejs框架 express
创建web服务器 3.x 4.x
路由功能:请求的方法(get/post…),请求的url(/list),响应的方法(回调函数)
app.get(’/list’,(req,res)=>{
req.method/url/headers/query/params
res.send(‘123’)/sendFile(__dirname+’/list.html’)/redirect(’/index’)
})
1.请求的方法
post 只能使用表单提交的时候(现阶段)
get 可以通过表单提交,也可以在浏览器地址栏直接输入url
两者的区别?
post不会在地址栏暴露输入的数据,相对安全。get会在地址栏显示输入的数据,相对不安全。
一般对于一些安全较高的表单使用post,例如登录,注册…
对于一些安全较低的使用get,例如搜索关键字,查询
post执行速度相对于get,比较慢。
2.路由中的参数
服务器端配置路由参数
app.get(’/list/:lid/:name’,(req,res)=>{
//req.params 获取传递参数对象
})
练习:
路由: 购物车 /shopping get
把商品的价格(price)和商品的数量(num)以参数的形式传递给服务器,把接收的参数显示在浏览器中。
3.路由器
把相关的路由归纳到一起。
用户模块:注册,登录,列表,修改,删除/delete,检索
商品模块:列表,详情,修改,删除/delete
把商品路由器挂载到 /product下
路由器目的是便于管理路由,最终要用于web服务器。
4.require引入第三方模块机制
首先查找当前目录下是否有node_moudules,如果没有往上一级目录寻找,直到根目录。
5.中间件
中间件就是express的函数,作用是为主逻辑所服务。中间件不能单独使用,必须要配合其它的中间件或路由实现一个完整的业务逻辑。
中间件拦截路由
app.use(fn); 拦截所有的路由
app.use(’/list’, fn); 拦截特定的路由(/list)
练习:
使用中间件实现计数器。
初始化一个变量用于记录访问次数——0;
在前置中间件中实现访问次数+1
在路由中(/user),把+1的结果响应给浏览器。
中间件分类
应用级的中间件 app.use(fn)
路由级的中间件 —— 路由器的使用
app.use(’/user’, user)
内置的中间件
第三方的中间件
错误级的中间(课后自学)

①内置的中间件——static托管静态资源
sendFile只有在请求的时候,才会发送文件到浏览器。
app.use(express.static(‘目录路径’));
注意:可以同时托管多个静态目录,如果两个目录中有相同的文件名称,显示第一个目录下的文件。
②body-parser中间件的使用
引入中间件 const bodyParser=require(‘body-parser’);
调用中间件
app.use(bodyParser.urlencoded({
extended: false
}));
获取post请求中表单的数据
req.body
课后任务:
(1)复习今天的内容,完成思维导图
(2)课后练习:
创建注册文件register.html(用户,密码,邮箱,电话);把这个文件作为静态资源托管,点击提交,使用post请求将数据发送给服务器;服务器使用body-parser中间件来获取数据,发送到浏览器“注册成功,你好+【用户名】”
(3)复习mysql中sql语句

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当出现nodejs版本匹配问题时,可以通过以下步骤解决: 1. 首先,查看你当前使用的nodejs版本。在终端中输入 "node -v" 命令可以得到当前的nodejs版本号。 2. 访问nodejs官方网站 https://nodejs.org/ ,在该网站中你可以找到所有可用的nodejs版本。 3. 检查你的npm的版本。在终端中输入 "npm -v" 命令可以得到当前的npm版本号。 4. 确保你的nodejs和npm版本是兼容的。你可以在nodejs官方网站的下载页面(https://nodejs.*** 如果你的nodejs和npm版本不匹配,你可以使用npm命令来安装匹配的npm版本。在终端中执行 "npm install -g npm@<desired-npm-version>" 命令来安装特定版本的npm。比如,如果你的node版本是10.15.1,对应的npm版本是6.4.1,你可以执行命令 "npm install -g npm@6.4.1"。 6. 安装完成后,再次检查nodejs和npm的版本,确保它们已经匹配。 通过上述步骤,你可以解决nodejs版本匹配问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [nodejs和npm版本不匹配的一种处理方式](https://blog.csdn.net/wltian/article/details/114970221)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [关于node js和 npm 版本不匹配的情况](https://blog.csdn.net/whatday/article/details/105069223)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值