作者 | 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的更多相关文章

  1. H5 FormData对象的使用——进行Ajax请求并上传文件

    XMLHttpRequest Level2 添加了一个新的接口——FormData .[ 主要用于发送表单数据,但也可以独立使用于传输键控数据.与普通的Ajax相比,它能异步上传二进制文件 ] 利用F ...

  2. Java中使用HttpPost上传文件以及HttpGet进行API请求(包含HttpPost上传文件)

    Java中使用HttpPost上传文件以及HttpGet进行API请求(包含HttpPost上传文件) 一.HttpPost上传文件 public static String getSuffix(fi ...

  3. Django学习——ajax发送其他请求、上传文件(ajax和form两种方式)、ajax上传json格式、 Django内置序列化(了解)、分页器的使用

    1 ajax发送其他请求 1 写在form表单 submit和button会触发提交 <form action=""> </form> 注释 2 使用inp ...

  4. c#代码发送post请求,上传文件(并带其他参数)

    本人对post理解不深,前段时间遇到一个需要用c#代码发送post请求上传文件的业务,于是参考了几篇帖子,加上自身实践写出了如下代码.写的比较low 望各位大大指正^_^. 业务需求: 对方给了一个接 ...

  5. Flask -- 请求、上传文件、Cookies

    请求对象 from flask import request request.method #值为form表单提交的method 'POST'. 'GET'等 #如果值为'POST'或'PUT',则可 ...

  6. restTemple发送请求、上传文件(@LoadBalanced微服务调用及url调用)

    import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Co ...

  7. 使用FormData,进行Ajax请求并上传文件

    前段时间做了个手机端的图片上传,为了用户体验,用ajax交互,发现了FromData对象,这里有详细解释https://developer.mozilla.org/zh-CN/docs/Web/API ...

  8. 通过Ajax方式上传文件,使用FormData进行Ajax请求

    通过传统的form表单提交的方式上传文件: <form id= "uploadForm" action= "http://localhost:8080/cfJAX_ ...

  9. [转] 通过Ajax方式上传文件,使用FormData进行Ajax请求

    通过传统的form表单提交的方式上传文件: <form id= "uploadForm" action= "http://localhost:8080/cfJAX_ ...

随机推荐

  1. HTML连载25-通配符选择器&选择器综合练习

    一.通配符选择器 作用:给当前页面上所有的标签设置属性 (2)格式: *{属性:值:} (3)注意点:由于通配符选择器是给界面上所有的标签设置属性,因此在设置之前会遍历所有的标签,如果当前界面上的标签 ...

  2. Tensorflow faster rcnn系列一

    注意:本文主要是学习用,发现了一个在faster rcnn训练流程写的比较详细的博客. 大部分内容来自以下博客连接:https://blog.csdn.net/weixin_37203756/arti ...

  3. SSM整合教程

    接着一直next下去 创建各个目录 pom.xml文件中引入各种包 <?xml version="1.0" encoding="UTF-8"?> & ...

  4. Kubernetes Job与CronJob(离线业务)

    Kubernetes Job与CronJob(离线业务) Job Job分为普通任务(Job)  一次性执行 应用场景:离线数据处理,视频解码等业务 官方文档:https://kubernetes.i ...

  5. java基本程序设计结构总结

    学习一门语言:(1)掌握它的表现形式(2)这些语言什么应用. 1.1关键字 1.关键字是被赋予了特殊含义的单词. 2.关键字特点:关键字所有字母都小写. 3.类名的每一个单词开头必须大写. 1.2标识 ...

  6. tkinter中的messagebox

    from tkinter import * from tkinter import messagebox def myMsg(): messagebox.showinfo("My Messa ...

  7. Java自学-集合框架 二叉树

    Java集合框架 二叉树 示例 1 : 二叉树概念 二叉树由各种节点组成 二叉树特点: 每个节点都可以有左子节点,右子节点 每一个节点都有一个值 package collection; public ...

  8. C# 获取社会统一信用代码

    时间不多,废话少说: 网络请求代码如下: using System; using System.Collections.Generic; using System.Linq; using System ...

  9. Visual Studio 项目在修改项目版本时,使用 * 通配符报错

    CS8357  C# The specified version string contains wildcards, which are not compatible with determinis ...

  10. system execl

    1. system(); int system(const char *command); 在Windows下,用来调用常用的Dos命令 在Linux下,system()会调用fork()产生子进程, ...