每日技术总结:promise,express route,评分,local storage商品浏览历史,
2024-10-01 21:04:52
最近正在用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
启动成功截图:
最新文章
- 多Web服务器之间共享Session的解决方案
- IOS 手势-轻点、触摸、手势、事件
- python除法
- (转载)关于web端功能测试的测试方向
- iCloud之旅
- struts2中<;s:property>;的用法
- 忘记gitlab的root密码
- 生成bundle和移除bundle
- js_设置光标到文本的最后位置
- LINQ 按多个字段排序(orderby、thenby、Take)
- Beta 第六天
- 【题解】Luogu P4381 [IOI2008]Island
- 第一册:lesson ninety-nine。
- CAD2020下载安装AutoCAD2020中文版下载地址+安装教程
- 【WebService】WebService之CXF和Spring整合(六)
- tusen 刷题
- opencv-python教程学习系列13-图像平滑
- linux下如何删除十字符libudev.so病毒文件
- Qt移动应用开发(三):使用精灵图片实现帧动画
- 〖Windows〗zigbee实验之cygwin编译TestSimpleMac出错的解决方法