二、JSON数据格式
JSON语法规则 ”名称/值“对的集合。例如对象、字典 1234{ "name": "好人", "job": [1, 2, 3, 4, 5]} 字符串必须使用双引号。 值的有序列表。例如数组。 123[ 1,2,3] JSON的值可以是字符串、数值、布尔值、null、对象、数组。 JSON可以独立成文件,扩展名为json。 JavaScript中的JSON json字符串 数据格式符合JSON格式的要求,类型是字符串 1var jsonString = '{"name":"张无忌"}' json对象 JSON数据格式在JavaScript中的具体表现 1234var jsonObject = { name:'张无忌'}var jsonArr = [1,2,3] JSON对象与JSON字符串转换 将json格式字符串转为JSON对象 ...
一、Ajax的基本用法
同步交互与异步交互 同步交互 指发送一个请求,需要等待返回,然后才能够发送下ー个请求。同步交互相当于排队,轮到下一个的情况会因为前一个而有所不同。 与排队类似。例如学生在食堂买饭,只有等前边同学买完才能轮到自己。 客户端向服务器端发送请求,必须等待结果返回,才能向服务端再次发送请求。 异步交互 所谓异步交互,就是指指发送一个请求,不需要等待返回,随时可以再发送下一个请求。同步交互与异步交互的区别在于同步交互需要等待结果,而异步交互不需要等待。 异步交互相比同步交互的优势主要具有以下几点 用户操作无须像同步交互必须等待结果。 异步交互只需与服务器端交換必要的数据内容,而不是将所有数据全部更新。 异步交互对带宽造成的压力相比同步交互更小。 通过Aja实现异步交互不需要任何第三方插件,只要浏览器支持Javascript语言即可实现。 异步交互相比同步交互井不是优势,它也存在一些问题 异步交互破坏了浏览器原有的前进和后退机制。 如果后面逻辑的行依靠前面逻辑行的结果的话,异步交互可能会造成问题。 Aja×实现异步交互对搜索引擎支持较弱。 Ajax实现异步交互会引起一些Web安 ...
十、promise的使用
Promise用来做什么 用来解决回调地狱。回调地狱也就是回调函数中嵌套了回调函数,代码阅读性低。 例如如下代码: 123456789101112131415161718192021222324252627const fs = require("fs");// 读A文件fs.readFile(`${__dirname}/etc/a.txt`, "utf-8", (err, data) => { if (err) { console.log(err); } else { console.log(data); // 读B文件 fs.readFile(`${__dirname}/etc/b.txt`, "utf-8", (err, data) => { if (err) { console.log(err); } else { ...
九、英雄管理(cqmanager)系统
查看源码 准备 mysql-ithm的使用 安装npm i mysql-ithm 使用 参照文档即可。 简单示例 12345678910111213141516171819202122232425262728293031323334353637383940414243// 导入模块const hm = require("mysql-ithm");//2.连接数据库//如果数据库存在则连接,不存在则会自动创建数据库hm.connect({ host: "localhost", //数据库地址 port: "3306", user: "root", //用户名,没有可不填 password: "root", //密码,没有可不填 database: "cqmanager502", //数据库名称});//3.创建Model(表格模型:负责增删改查)//如果table表格存在则连 ...
八、NPM包管理
如何写NodeJs模块 遵守CommonJS规范。 导入模块 暴露出去(导出) 一个简单的示例: 12345678910111213// 定义一个对象let db = { baseUrl: "http://127.0.0.1:3000/", insert: function () { console.log("插入方法"); }, delete: function () { console.log("删除方法"); },};// 将其暴露出去module.exports = db; 在我们的模块中定义一个对象,并将其暴露出去。接下来在我们自己的js文件中去使用这个对象。 12const myMoudle = require("./01-自己写的模块.js");myMoudle.insert(); 写一个自己的模块 NPM发布包 进入待发布的目录,然后初始化目录npm i ...
七、NodeJs数据库管理
建表 MySQL程序可以使用PHP study集成工具。链接、操作数据库可以使用phpstudy自带的工具也可以使用navicat工具。 SQL语句-增删改查 插入数据 1insert into 表名(字段名1,字段名2) values(值1,值2); 例如: 1insert into user(name,description) values('陈浩南','铜锣湾扛把子'); 删除数据 1delete from 表名 where 条件; 条件一定要写,如果不写则会删除该表中所有的数据删除。 例如: 1delete from user where id>3; 修改数据 1update 表名 set 字段名1=新值1,字段名2=新值2 where 条件; 条件一定要写,如果不写则会修改数据表中的全部数据 例如: 1update user set name='子风兄',description='比波波还骚' where id=3; 查询数据 1select * from 表名 [wh ...
六、中间件与跨域
什么是中间件 在路由相应之前就会执行中间件的内容,例如在中间件中进行赋值,这种就可以在路由执行时使用这个值。 所以中间件就是服务器开启之后和路由响应之前执行的一个函数。这个函数可以操作req与res。使用next()向下传递到下一个中间件,最后传到路由。 例如开启三个中间件的写法: 1234567891011121314app.use((req, res, next) => { console.log("中间件1"); req.requestTime = Date.now(); next();});app.use((req, res, next) => { console.log("中间件2"); next();});app.get("/", (req, res) => { console.log(Date.now() - req.requestTime); res.send("Hello World!");}); ...
五、express实战-英雄管理系统
查看源码 后端路由 简单来说,注册路由就是写接口 登录接口 登录接口实现很简单,只需要接收post传来的参数,然后进行验证即可。 123456789101112131415161718192021222324const express = require("express");const bodyParser = require("body-parser");app.use(bodyParser.urlencoded({ extended: false }));// 登录接口app.post("/login", (req, res) => { // 接收用户传递过来的用户名和密码 let { username, password } = req.body; if (username == "admin" && password == "123") { ...
四、node服务器搭建
什么是端口 一台电脑可以部署多个服务器,根据端口不同找到不同的服务器。 默认的http端口为80端口。 web服务器读取网页并返回 使用http模块开启一个服务器 在服务器内部读取文件,将读取到的字符串内容作为服务器的响应返回 12345678910111213141516171819const http = require("http");const fs = require("fs");const path = require("path");const server = http.createServer((req, res) => { // 拼接路径 const filePath = path.join(__dirname, "index.html"); fs.readFile(filePath, "utf-8", (err, data) => { if (err == null) { // 返回页面 ...
三、nodejs模块使用和其他
内置模块的基本使用(删除文件) 123456789101112const fs = require("fs");/** * 删除文件 * @param {string} "./temp/test.txt" 被删除文件的路径 * @param {function} (err) 回调函数,将错误信息传入其中 */fs.unlink("./temp/test.txt", (err) => { if (err) throw err; console.log("已成功删除 test");}); fs模块读文件 1234567891011121314const fs = require("fs");/** * 读取文件信息 * @date 2020-07-01 * @param {sting} "./temp/t.txt" 文件路径 * @param {sting} ...













