复习node.js 需要注意知识点--(重点)

2.1:参数传递获取造型

客户端脚手架(发)    (参数传递)    node.js(收)

-发ajax  this.axios.get("http://127.0.0.1:3000/list?id=9&age=19")

-收 node.js   req(request 请求对象)

var id  = parseInt(req.query.id);

var age = parseInt(req.query.age);

错误:node.js  NaN 参数错误

2.2:完成一个功能使用哪条SQL  node.js

(1)登录:

-参数:用户名密码 uname upwd

-sql:SELECT uname,upwd FROM xz_login

WHERE uname = ? AND upwd = md5(?)

用户名或密码错 result.length == 0

(2)商品列表(分页):

-参数:pno 页码 pageSize 页大小

-sql SELECT id,img_url,price,title FROM xz_product

LIMIT ?,?

? (pno-1)*pageSize

? pageSize

-sql SELECT count(id) FROM xz_product;

Math.ceil(20/pageSize); 向上取整

(3)购物车:

(0)列表  SELECT id,name,price,title,count FROM xz_cart;

(1)添加

参数:pid 商品编号 price 商品价格 count 数量

-查询当前商品是否在购物车中

SELECT id FROM xz_cart WHERE pid = ?

-如果商品己经存在 更新数量

UPDATE xz_cart SET count = ? WHERE id = ?

-如果商品不存在   添加

INSERT INTO xz_cart VALUES(null,pid,price,count,now())

(2)计算合计 脚手架计算属性

(3)修改(购物车中商品数量)

参数:id购物车项目id  count 数量

sql:UPDATE xz_cart SET count = ? WHERE id = ?

(4)删除[多选]

参数:uid 谁的购物车 id=1,2,3

字符串拼接   1,2,3

sql:DELETE FROM xz_cart WHERE id IN (1,2,3)

(5)创建订单:

-参数:uid 购物车用户id

-查询购物车中数据 SELECT id,uid,price FROM xz_cart;

-添加订单表       INSERT INTO xz_order VALUES(?,?....)

2.3:node.js 非阻塞[高效 无序] 如果有功能需要严格顺序

sql1

pool.query(sql1,(err,result)=>{

//sql1 一定执行结束 结果

sql2

pool.query(sql2,)

});

3:学子商城--新闻列表

查看昨天项目 xampp node.js vue-cli

3.1:修改脚手启动时显示Home 组件

默认脚手路径 http://127.0.0.1:8080/#/

{path:'/',component:HelloContainer},

修改:当脚手架访问 / 让浏览器自动将地址 /修改/Home

功能: 跳转

{path:'/',redirect:'/Home'}

{path:'/Home',component:Home},

3.2:修改App.vue  组件

4:学子商城--新闻列表

4.1:创建按钮 "加载更多..." mint-ui

-import {Button...} from "mint-ui"

-Vue.component(Button.name,Button);

-<mt-button type="primary" size="large">加载更多...</mt-button>

4.2:创建过滤器 格式化日期对象 创建全局过滤器

-创建过滤器main.js

Vue.filter(过滤器名称,function(val){

-依据参数创建日期对象

-年 月  日  小时 分 钟 秒

-返回字符串 Y-M-D h:mi:s

});

-调用过滤器组件模板

{{item.ctime | 过滤器名称}}

4.3: 点击按钮 "加载更多..." 查看下一页

-为加载更多按钮绑定点击事件

-创建函数加载更多 {下一页}

-遇到问题:显示下一页内容上页内容覆盖

希望保存上一页内容

this.list = [];

this.list = result.data.data;

var rows = this.list.concat(result.data.data);

this.list = rows;

5:学子商城--商品列表

5.1:分析查询表

-查询当前页内容

xz_laptop      商品表

xz_laptop_pic   商品图片表

商品编号 商品标题   商品价格  商品图片

lid       title        price      md

(1)查询表保存在 FROM后

(2)为每张表创建别名

(3)查找两张表哪列有关联的   = <= >=

SELECT l.lid,l.title,l.price,p.md

FROM xz_laptop l,xz_laptop_pic p

WHERE l.lid = p. laptop_id

GROUP BY l.lid

LIMIT ?,?;

app.js

5.2:脚手架

-创建空组件   src/components/goods/GoodList.vue

-配置访问路径  /GoodsList

-测试

-设置布局

调错/添加按钮/添加点击事件

常见错误

(1) net::ERR_CONNECTION_RESET   node.js程序出错停止工作

解决:查看node.js 控制台出错信息

(2)error in your SQL syntax

原因:sql语法写错了

node.js 需要注意知识点的更多相关文章

  1. Node.js的基础知识点

    一,语言 和 环境(平台) 之间的关系 1,浏览器环境 中的 Javascript 浏览器中 Javascript 的组成部分 ECMAScript核心 + DOM + BOM 2,Node环境 中的 ...

  2. Node.js的知识点框架整理

    背景:因为appium是基于Node.js的,所以想看一下Node.js.但是发现很多资料的顺序看起来有点颠倒.然后就一面看资料一面整理了一下大概的知识点框架,希望对自己对别人有用. 本文不包含nod ...

  3. Node.js知识点学习

    Node.js知识点学习 一.基本概念 Node.js,或者 Node,是一个可以让 JavaScript 运行在服务器端的平台.可以说,Node.js开创了javascript模块化开发的先河,早期 ...

  4. Node.js实用知识点

    本文介绍如何使用nodejs 简单的HttpServer 调试nodejs 基础路由 nodejs配置开发和生产环境 nodejs核心模块一览 express用法 文件I/O nodejs模块 nod ...

  5. Node.js知识点详解(一)基础部分

    转自:http://segmentfault.com/a/1190000000728401 模块 Node.js 提供了exports 和 require 两个对象,其中 exports 是模块公开的 ...

  6. Node.js:Buffer浅谈

    Javascript在客户端对于unicode编码的数据操作支持非常友好,但是对二进制数据的处理就不尽人意.Node.js为了能够处理二进制数据或非unicode编码的数据,便设计了Buffer类,该 ...

  7. 我的Node.js处女作

    前言 很高兴我的node.js处女作开发完成了,目前还在优化完善阶段,经历两周的紧张沟通和开发,工作总算搞一段落.选用node.js 一是因为这次的业务逻辑相对来说简单想拿node练练手,二就是相对来 ...

  8. Node.js 爬虫初探

    前言 在学习慕课网视频和Cnode新手入门接触到爬虫,说是爬虫初探,其实并没有用到爬虫相关第三方类库,主要用了node.js基础模块http.网页分析工具cherrio. 使用http直接获取url路 ...

  9. Node.js 自学之旅

    学习基础,JQuery 原生JS有一定基础,有自己一定技术认知(ps:原型链依然迷糊中.闭包6不起来!哎!) 当然最好有语言基础,C#,java,PHP等等.. 最初学习这个东西的原因很简单,在园子里 ...

随机推荐

  1. 车载导航应用中基于Sketch UI主题定制方案的实现

    1.导读 关于应用的主题定制,相信大家或多或少都有接触,基本上,实现思路可以分为两类: 内置主题(应用内自定义style) 外部加载方式(资源apk形式.压缩资源.插件等) 其实,针对不同的主题定制实 ...

  2. Qt5教程: (6) 菜单栏、工具栏、状态栏及核心控件

    1. 新建QMainWindow工程 取消生成.ui文件 2. 菜单栏 在mainwindow.cpp中添加头文件 和 #include <QMenuBar> #include <Q ...

  3. 实验吧之【简单的sql注入 1、2、3】

    实验吧的三道sql注入(感觉实验吧大部分web都是注入) 简单的SQL注入 地址:http://ctf5.shiyanbar.com/423/web/ 这道题也是sql注入,输入1,页面显示正常,输出 ...

  4. ThinkPHP架构(一)-TP原理及路径问题及后台实现实例

    一直用CSDN的博客,由于域名当时注册写的不合适,现在想来博客园写博客,以后要坚持写啦,记录自己的技术学习路程 本人两个月前,刚完成基于PHP的研会门户网站,虽然实现了基本功能,但感觉技术有些单薄,便 ...

  5. 上手Typescript,让JavaScript适用于大型应用开发

    Typescript Typescript是一个基于静态类型的,能编译为JavaScript的JavaScript的超集.也就是说任何JavaScript都可以看成是Typescript,IDE能够更 ...

  6. Rancher 2.1平台搭建及使用

    一.概述 1.1.什么是Rancher Rancher是一套容器管理平台,它可以帮助组织在生产环境中轻松快捷的部署和管理容器. Rancher可以轻松地管理各种环境的Kubernetes,满足IT需求 ...

  7. php反序列化漏洞复现过程

    PHP反序列化漏洞复现 测试代码 我们运行以上代码文件,来证明函数被调用: 应为没有创建对象,所以构造函数__construct()不会被调用,但是__wakeup()跟__destruct()函数都 ...

  8. CSAPP: 位操作实现基本运算

    目录 实验要求 实现代码 1.pow2plus1 2.pow2plus4 3.bitXor 4.tmin 5.isTmax 6.allOddBits 7.negate 8.isAsciiDigit 9 ...

  9. 面试官:"准备用HashMap存1w条数据,构造时传10000还会触发扩容吗?"

    // 预计存入 1w 条数据,初始化赋值 10000,避免 resize. HashMap<String,String> map = new HashMap<>(10000) ...

  10. 初级开发者也能码出专业炫酷的3D地图吗?

    好看的3D地图搭建出来,一定是要能为开发者所用与业务系统开发中才能真正地体现价值.基因于此,CityBuilder建立了与ThingJS的通道——直转ThingJS代码,支持将配置完成的3D地图一键转 ...