每日技术总结:promise,express route,评分,local storage商品浏览历史,
最近正在用Vue做一个电商项目。利用工作前后空隙时间。
1.promise的使用
2. Express Route 前后端传参的两种方法
(1)req.params
服务端代码如下:

const express = require('express')
const router = express.Router()
router.get('/:name', function (req, res) {
res.send('hello, ' + req.params.name)
})
module.exports = router

前端访问地址 http://localhost:3000/testRoute/testParams
req.params.name 即为testParams
(2)req.query
服务端代码如下:

router.get('/', function(req, res, next) {
var res = res
var req = req
var sql = "select parent_id, cat_name, cat_logo, level from syscategory_cat WHERE parent_id=" + req.query.testKey
connection.query(sql, function(err, rows, fields) {
res.send(rows)
})
})

前端代码如下:

getCategory() {
this.$ajax.get('http://localhost:3000/category/', {
params: {
testKey: testValue
}
}).then((res) => {
resolve(res)
}).catch(function (error) {
reject(error)
})
}

此处发送的参数 testKey, 即为req.query.testKey
另附两篇express相关入门文章:
3.商品评论打星星评分功能
思路:
- 把六种分数的星星拼成一张雪碧图
- 点击星星的时候,获取鼠标的位置
- 根据位置来更改background-position的值来显示不同的星星改变分数。
雪碧图如下:

css代码如下:

.star.big {
line-height: 20px;
vertical-align: -4px;
width: 181px;
height: 20px;
background: url(../member/star_b.png) no-repeat 0 -100px;
}
.star.s_5 {
background-position: 0 0;
}
.star.s_4 {
background-position: 0 -20px;
}
.star.s_3 {
background-position: 0 -40px;
}
.star.s_2 {
background-position: 0 -60px;
}
.star.s_1 {
background-position: 0 -80px;
}

js代码如下:

$('.star').on('click',function(event){
var x = event.offsetX;
if(x<21){
this.className = 'star big s_1';
$(this).next().val(1);
return;
}
if(x > 40 && x < 61){
this.className = 'star big s_2';
$(this).next().val(2);
return;
}
if(x > 80 && x < 101){
this.className = 'star big s_3';
$(this).next().val(3);
return;
}
if(x > 120 && x < 141){
this.className = 'star big s_4';
$(this).next().val(4);
return;
}
if(x > 160 && x < 181){
this.className = 'star big s_5';
$(this).next().val(5);
return;
}
});

4.商品浏览历史
思路:使用store.js,在商品详情页设置Local Storage数据,在需要调用的地方获取Local Storage数据。
set设置数据页面代码:
browserStore.set(key, value);
get获取数据页面代码:
browserStore.get(key, function(rs) {
rs = JSON.decode(rs);
});
5.express服务启动命令
set DEBUG=server:* & npm start
启动成功截图:

每日技术总结:promise,express route,评分,local storage商品浏览历史,的更多相关文章
- ARM模式下创建Express Route
在Azure的ARM模式下,创建Express Route的命令和ASM模式下是有一些区别的. 本文将介绍在ARM模式下,如果创建Express Route的Circuit. 1. 查看支持的Serv ...
- 如何在ARM中创建Express Route
很早之前就想试试Azure的express route,但是一直没有找到合适的机会,正好有个客户需要上express route,所以最近先自己研究研究,防止在做poc的时候耗费更多时间,本次场景我们 ...
- nodejs express route 的用法
express 中文社区:http://expressjs.jser.us/community.html nodejs express route 的用法 1. 首先是最基本的用法. 1 2 3 4 ...
- 一根Express Route同时支持ARM和ASM的VNET
ARM模式的Azure管理模式在China Azure上已经正式落地了.今后在China Azure上应该主要以ARM的模式创建VM了. 并且目前Express Route也已经可以在ARM模式下创建 ...
- Express Route的配置
ExpressRoute在中国已经Preview了. 本篇文章讲介绍ExpressRoute如何配置. Express Route的逻辑拓扑结构: 在配置Express Route之前,需要做VLAN ...
- web页面缓存技术之Local Storage
业务:检测页面文本框的值是否有改变,有的话存入缓存,并存储到数据库,这样用户异常操作后再用浏览器打开网页,就可避免重新填写数据 数据库表:Test,包含字段:PageName,PageValue BL ...
- 【JEECG技术博文】Local storage & easyui extensions
1. Local storage背景 cookie弊端:同域内http请求都会带cookie,添加带宽和流量:有个数和限制大小(约4K). 在HTML5中,本地存储是一个window的属性.包含loc ...
- Session,Cookie 和local storage的区别
以前从没有听说过local storage, 在网上查了一些资料,得到如下结论 从存储位置看,分为服务器端存储和客户端存储两种 服务器端: session 浏览器端: cookie, localSto ...
- HTML5本地存储(Local Storage) 的前世今生
长久以来本地存储能力一直是桌面应用区别于Web应用的一个主要优势.对于桌面应用(或者原生应用),操作系统一般都提供了一个抽象层用来帮助应用程序保存其本地数据 例如(用户配置信息或者运行时状态等). 常 ...
随机推荐
- vim 计算器寄存器使用
我们可能会在vim的使用中,碰到下面的情况 当我正在写一周预算的时候,我想计算下每天我买菜花2.7,每天买两顿,周死晚上出去吃,周六额外买1.5斤14.8一斤的猪肉... 这时候你打算怎么办呢,是不是 ...
- Linq聚合函数使用
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 1.STL list
初始化一个链表 list<,,,, }; 链表排序 mylist.sort(); 链表反转 mylist.reverse(); 链表删除头部和尾部 mylist.pop_back();//删除尾 ...
- POJ 3037 SPFA
题意: 思路: 我们可以发现 到每个点的速度是一样的 那这就成水题了-. 裸的SPFA跑一哈 搞定 //By SiriusRen #include <cmath> #include < ...
- Solr 定义
福利 => 每天都推送 欢迎大家,关注微信扫码并加入我的4个微信公众号: 大数据躺过的坑 Java从入门到架构师 人工智能躺过的坑 Java全栈大联盟 ...
- ArcGIS Api For Flex 动态画点和线
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...
- A. Keyboard Codeforces Round #271(div2)
A. Keyboard time limit per test 2 seconds memory limit per test 256 megabytes input standard input o ...
- Android 上的 制表符(tab) —— 一个奇妙的字符 (二)
接到上回的说,主要是上回那个问题,我认为是android的bug,黎叔认为是cocos2dx的bug,叫我去提交bug.所以我又继续研究了下. 上回说到会调用java层的函数去创建一个image,然后 ...
- OpenGL核心技术之混合技术
笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者.国家专利发明人;已出版书籍:<手把手教你架构3D游戏引擎>电子工业出版社和<Unity3D ...
- php实现希尔排序(总结)
php实现希尔排序(总结) 一.总结 1.希尔排序的算法思路:分组排序, 缩小增量排序,插入排序 2.算法思路: 循环非常好写 有几次gap:log2(n) 每次gap有几组:gap组 每组有几个元素 ...