登录验证和文件上传
32:登录验证和文件上传一、项目规划 前端 ajax作为前端和后端交互的入口 ajax提交之后会请求目标地址 目标地址会处理之后响应数据给前端 前端接收到响应数据,渲染到页面结构 后端 创建服务对象并挂载到指定端口 静态资源处理中间件 解析body数据中间件 功能路由 封装自定义功能模块 注意模块的暴露和引入方式 注意自定义模块的功能,参数,返回值 功能 注册 登录 需要验证登录信息的测试功能(查看个人信息) 文件上传 设置cors 123456app.all("*", (req,res,next)=>{ res.header('Access-Control-Allow-Origin', '*') res.header('Access-Control-Allow-Methods', 'get,post') res.header('Access-Control-Allow-Headers',...
MongoDB
31:MongoDB一、介绍 MongoDB 是一个基于分布式文件存储的数据库管理系统。 由 C++ 语言编写,是一个开源数据库系统。 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。 MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。 MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。 在高负载的情况下,添加更多的节点,可以保证服务器性能。 关系型数据库(mysql)与非关系型数据库(mongodb)的区别: sql术语/概念 mongodb术语/概念 解释/说明 database database 数据库 table collection 数据库表/集合 row document 数据记录行/文档 column field 数据字段/域 index index 索引 table...
Express
30:Express一、Express的安装和基本使用 介绍: Express 是基于Node.Js平台,快速,开放,极简的Web开发框架。 是Node.Js的第三方模块,需要安装之后才能使用 express的特点就是对原生NodeJs做了二次封装,非侵入式。 准备 首先准备好项目目录: 新建文件夹,在当前目录下打开命令提示符,使用npm init创建项目配置文件package.json 安装Express: npm i express -S 安装之后,需要在文件引入才能使用: const express = require("express"); express自身是一个函数 const app = express(); 执行之后,得到express对象(服务对象) app.listen(端口, ()=>{}) 开启指定端口的监听,开启成功后执行回调函数 express基础使用: app.use(路由, (req, res,...
Node.js
29:Node.js一、web服务构成 服务器: 也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。 在网络环境下,根据服务器提供的服务类型不同,分为文件服务器,数据库服务器,应用程序服务器,WEB服务器等。 web服务器环境:apache , ngnix , tomcat,nodejs 服务器访问方式:localhost -> www.abc.com 端口:服务器对外开放的门的门牌号 80:http的默认端口 443:https的默认端口 3306:mysql的默认端口 27017:mongoDB的默认端口 数据库:mysql,sqlserver,mongoDB 数据库:数字,字符 磁盘(硬盘) 文件本身(图,视频,PDF) 文件服务器 后台管理程序: java,php,python,nodejs 二、开发方式 大后端(前后端不分离): 用户 -> 地址栏(http[s]请求) -> web服务器(收到) ->...
版本管理-git
...
异步程序的处理
27:异步程序的处理一、Promise用来解决什么问题1. 什么是异步程序 客户端 计时器 ajax 服务端(Node.js) fs文件操作 数据库操作 2. 什么异步1234567891011setTimeout(function(){ console.log("异步请求1");}, Math.round(Math.random()*1000));setTimeout(function(){ console.log("异步请求2");}, Math.round(Math.random()*1000));setTimeout(function(){ console.log("异步请求3");}, Math.round(Math.random()*1000)); 3. 什么是回调地狱- 回调函数嵌套调用,根据外层异步程序执行结果,调用内层异步程序 12345678910111213setTimeout(function(){ ...
跨域
26:跨域一、同源策略 同源策略是浏览器用来约束数据请求的安全机制。同源策略要求:发起请求方和被请求方必须同协议、同域名、同端口,只要有一个不同,且被请求方没有设置CORS策略,那么本次请求会被认为跨域。 协议:http 和 https 域名:www.baidu.com 和 baike.baidu.com 端口::3000 和 :3001 二、跨域 凡是没有遵守同源策略的XMLHttpRequest请求,都会被浏览器阻止,报错 跨域的意义: 互联网的存在,必须要依赖跨域,因为只有各个域之间的数据互通了,才能形成网络,才可以在不同的节点之间进行跳转… 跨域的解决方案: CORS:遵守同源策略:在要请求的后端程序上设置访问控制允许源的头部信息 纯后端 简单,方便,不安全 jsonp:不使用XMLHttpRequest发起请求,利用html标签可以跨域获取数据的特性,使用script标签发起请求,利用了script标签会将引入的文本资源作为js代码执行的特性,获取后端数据...
Ajax
25:Ajax一、同步和异步 生活中的同步: 2. 生活中的异步: 在JavaScript语言中,同步和异步的概念刚好相反。 这JavaScript中同步就是:你不执行完上面的代码,那么下面的代码你就别执行;一步一步执行,这就是同步。 异步就是可以一起执行的代码; 二、程序进程线程 程序:功能 进程:进程不是程序,是程序执行的过程 线程:是程序执行过程中开启的每个分支 多线程异步执行,可以提高程序的效率 三、Ajax的概念 ajax是前后端数据交互的重要手段 Ajax 全称为:“Asynchronous JavaScript and XML”(异步 JavaScript 和 XML),它并不是 JavaScript 的一种单一技术,而是利用了一系列交互式网页应用相关的技术所形成的结合体。使用Ajax,我们可以无刷新状态更新页面,并且实现异步提交,提升了用户体验。 Ajax 这个概念是由 JesseJamesGarrett 在 2005...
模块化开发
24:模块化开发一、开发方式的演变 最早:一个 js 文件 每一个 html 文件对应一个 js 文件 后来:把一个项目内部的重复功能提取出来 写成一个单独的 js 文件 再后来:决定按照功能拆分出一个一个的文件 a.js:专门做顶部导航栏各种功能 b.js:专门做二级菜单 c.js:专门做搜索引擎 d.js:左侧边栏 e.js:轮播图 最后在每一个页面准备一个整合的 js 文件,在引入这个整合的js文件的script标签中添加一个type="module"属性 就是专门用来组合这个页面使用了多少个 js 文件模块 此时, 我们管每一个 js 文件叫做一个 模块 页面的完整功能, 就是由一个一个的模块来完成的 二、什么是模块化开发 模块化开发:是一种项目的构架模式,这种构架模式让 js...
本地存储
23:本地存储一、本地存储 本地:当前设备的当前浏览器 本地存储:将数据,存储在当前计算机的当前浏览器的缓存中 本地存储的特点: 不能跨设备,不能跨浏览器,不能跨域 只能存字符,文本 有大小限制 有时间限制 本地存储的分类 cookie cookie中的数据,每次会跟随http协议发往服务器 大小:4k~ 条数:50条~ 时间:默认会话级(关闭浏览器清空),可以指定过期时间,不能永久存储 属于DOM,document.cookie localStorage 不会跟随http协议发往服务器 大小:5M~ 时间:只能永久级 属于BOM,window.localStorage sessionStorage...