请求与上传文件,Session简介,Restful API,Nodemon

作者 | Jeskson
来源 | 达达前端小酒馆
请求与上传文件
GET请求和POST请求
const express = require('express');
const app = express();
app.set('view', 'pug');
app.get('/', function(req,res){
// 输出响应消息
req.send('hello')
});
app.get('/users/:gender', function(req,res){
// 获取路由参数
let gender = req.params.gender;
// 获取url参数
let name = req.query.name;
// 输出响应
res.send('gender='+gender+',name='+name);
});
// 启动HTTP服务器
app.listen(8080, function(){
console.log('express')
});
POST请求借助body-parser模板引擎以及req.body()函数得到参数。
const express = require('express');
const bodyParser = require('body-parser');
// 创建express程序
const app = express();
// 配置视图模板
app.set('view engine', 'pug');
// 配置post
app.use(bodyParser.urlencoded({
extended: true
});
app.get('/create', function(req, res){
res.render('create.pug');
});
app.post('/create', function(req,res){
// 获取用户输出表单消息
let name = req.body.name
let pswd = req.body.password;
res.send('name='+name+",pswd="+pswd);
});
app.listen(8080, function(){
console.log('express');
});
上传文件
用multer中间件进行上传文件:
const express = require('express');
const bodyParser = require('body-parser');
const multer = require('multer');
const app = express();
app.set('view', 'pug');
app.use(bodyParser.urlencoded({
extended:true
}));
const upload = multer({
dest: 'uploads/'
});
app.get('/create', function(req, res){
res.render('create.pug');
});
app.post('/create', function(req,res){
// 获取用户输出表单信息
let name = req.body.name;
let pswd = req.body.password;
res.send('name =' + name + ",pswd="+pswd);
});
app.get('/upload', function(req, res){
res.render('upload.pug');
});
app.post('/upload', upload.single('photo'), function(req,res){
// 获取上传文件信息
let file = req.file;
res.send(file);
});
// 启动http服务器
app.listen(8080,function(){
console.log();
});
node server.js
session简介
服务器会为浏览器创建一个会话对象,一个浏览器只能有一个session。session是这样的,需要保持用户数据时,服务器程序可以把用户数据存储到浏览器的session中,当用户使用浏览器访问其他程序,可以从session中取出数据。
session的使用:
npm install express-session
var session = require("express-session");
app.use(session({
secret: 'keyboard cat',
resave: true,
saveUninitialized: true
}))
cookie和session的区别:
cookie是将用户的数据写给用户的浏览器,在浏览器端保持状态数据,当访问服务器时,传输数据量大,而负担大,用户可能修改cookie信息,导致服务器不安全。
session是把用户的数据写到用户的session,不同的用户用不同的session_id识别,将session_id保持在客户端cookide或是在本地。当发送请求时,附带将session_id的cookie信息,用来区分哪个用户的数据。
restful api的简介
REST基本架构:
restfull api,创建一个json数据资源文件。
var express = require('express');
var app = express();
var fs = require("fs");
app.get('/listUsers", function(req,res){
fs.readFile(dirname + '/' + "users.json", "utf8" ,function(err,data){
console.log(data);
res.end(data);
});
})
var server = app.listen(8081,function(){
var host = server.address().address
var port = server.address().port
console.log();
})
node server.js
Nodemon
nodemon来监视node.js应用程序的更改和自动重启服务。
npm install -g nodemon
npm install --save-dev nodemon
nodemon常用命令:
nodemon -h 或 nodemon --help
使用帮助
nodemon --watch path
监视当前的工作路径
nodemon --ignore
忽视一些文件被监视
rs
手动启动系统
❤️ 不要忘记留下你学习的脚印 [点赞 + 收藏 + 评论]
作者Info:
【作者】:Jeskson
【原创公众号】:达达前端小酒馆。
【福利】:公众号回复 “资料” 送自学资料大礼包(进群分享,想要啥就说哈,看我有没有)!
【转载说明】:转载请说明出处,谢谢合作!~
大前端开发,定位前端开发技术栈博客,PHP后台知识点,web全栈技术领域,数据结构与算法、网络原理等通俗易懂的呈现给小伙伴。谢谢支持,承蒙厚爱!!!
若本号内容有做得不到位的地方(比如:涉及版权或其他问题),请及时联系我们进行整改即可,会在第一时间进行处理。
请点赞!因为你们的赞同/鼓励是我写作的最大动力!
欢迎关注达达的CSDN!
这是一个有质量,有态度的博客

请求与上传文件,Session简介,Restful API,Nodemon的更多相关文章
- H5 FormData对象的使用——进行Ajax请求并上传文件
XMLHttpRequest Level2 添加了一个新的接口——FormData .[ 主要用于发送表单数据,但也可以独立使用于传输键控数据.与普通的Ajax相比,它能异步上传二进制文件 ] 利用F ...
- Java中使用HttpPost上传文件以及HttpGet进行API请求(包含HttpPost上传文件)
Java中使用HttpPost上传文件以及HttpGet进行API请求(包含HttpPost上传文件) 一.HttpPost上传文件 public static String getSuffix(fi ...
- Django学习——ajax发送其他请求、上传文件(ajax和form两种方式)、ajax上传json格式、 Django内置序列化(了解)、分页器的使用
1 ajax发送其他请求 1 写在form表单 submit和button会触发提交 <form action=""> </form> 注释 2 使用inp ...
- c#代码发送post请求,上传文件(并带其他参数)
本人对post理解不深,前段时间遇到一个需要用c#代码发送post请求上传文件的业务,于是参考了几篇帖子,加上自身实践写出了如下代码.写的比较low 望各位大大指正^_^. 业务需求: 对方给了一个接 ...
- Flask -- 请求、上传文件、Cookies
请求对象 from flask import request request.method #值为form表单提交的method 'POST'. 'GET'等 #如果值为'POST'或'PUT',则可 ...
- restTemple发送请求、上传文件(@LoadBalanced微服务调用及url调用)
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Co ...
- 使用FormData,进行Ajax请求并上传文件
前段时间做了个手机端的图片上传,为了用户体验,用ajax交互,发现了FromData对象,这里有详细解释https://developer.mozilla.org/zh-CN/docs/Web/API ...
- 通过Ajax方式上传文件,使用FormData进行Ajax请求
通过传统的form表单提交的方式上传文件: <form id= "uploadForm" action= "http://localhost:8080/cfJAX_ ...
- [转] 通过Ajax方式上传文件,使用FormData进行Ajax请求
通过传统的form表单提交的方式上传文件: <form id= "uploadForm" action= "http://localhost:8080/cfJAX_ ...
随机推荐
- java、JavaScript获取微信用户信息登录优化方案
1.获取微信用户信息要调用微信的好几个接口,再加上自己系统的接口就会变的很慢,影响用户体验,之前走过的弯路我就不赘述了,直接说新的方案. 2.第一步都是向微信发起获取用户code请求: 请求接口:ht ...
- JavaScript DOM 常用操作
1.理解DOM: DOM(Document Object Model ,文档对象模型)一种独立于语言,用于操作xml,html文档的应用编程接口. 怎么说,我从两个角度理解: 对于JavaScript ...
- 修改Hexo自动生成的HTML文件名
导读 我们在使用Hexo框架生成静态博客时,其实是将你写好的.md文件输出成HTML文件进行渲染,其中HTML的文件名称就是.md的文件名称. 而我们为了编辑文章方便,为了通过文件名就知道这是哪篇文章 ...
- Autoware 培训笔记 No. 1——构建点云地图
1. 首记 相信许多刚开始玩无人驾驶的人都用过Autoware,对runtime manager都比较熟悉,虽然可以通过各种渠道了解到有些设置,甚至有些设置的app下参数的含义,但是,在真车的使用过程 ...
- cmd 运行bcp 提示:'bcp' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
这个问题的原因是:bcp.exe文件的路径不在环境变量中, 我的环境:Windows10 ,SQL server2016(D:) 1.首先查找你的SQL Server2016的安装位置 找到快捷方式, ...
- vs2015 创建MVC项目
直接上图吧! 第一步:新建项目 第二步:选择模板 第三步:系统自动生成项目文件 第四步:创建控制器(C):找到Controllers文件夹->右键->添加->控制器 第五步:添加控制 ...
- kuangbin专题简单搜索题目几道题目
1.POJ1321棋盘问题 Description 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形 ...
- centos7,python2和python3共存
安装依赖包 yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk- ...
- springboot访问服务器本地静态文件的方法
一.继承WebMvcConfigurerAdapter,重写addResourceHandlers,在registry里面配置访问路径和映射到的服务器本地路径. import org.springfr ...
- django-manage.py参数
cleanup--从数据库中删除旧数据 compilemessages--将.po文件编译为.mo以与gettext一起使用 createcachetable--为SQL缓存后端创建表 create ...