自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 9种跨域问题解决方案

nginx/cors/http-proxy等为常用的前端处理跨域方式jsonp 在页面插入一个 script标签,地址栏增加 cb 函数,后端接受到请求后,返回执行 cb(后端要返回给前端的数据) ,缺点:只支持 get cors 后端 配置权限控制允许源,将前端源写入 postMessage 两个页面可以访问 iframe,一方发 postMessage ,一方接受 onmessage ...

2020-04-07 18:29:32 185

原创 Node.js Web应用代码热更新

实现思路:将启动文件中的 router、proxy 文件分离出主文件,对分离出去的文件实现热更新。关键问题点:如何更新模块代码 如何使用新模块处理请求 如何释放老模块的资源如何更新模块代码引入 `chokidar` 当监听文件修改时,清除该模块缓存,delete require.cache[path]如何使用新模块处理请求使用koa框架,app.use 操作会保存旧...

2019-10-21 17:33:08 168

原创 redux 使用 bindActionCreators 使子组件不与 redux 结合的情况去获取 action creator 并使用

当子组件不使用 react-redux connect 包裹,触发redux 中的 action 时,使用 bindActionCreators 方法,第一个参数是 action creator ,第二个是从 props 获取的 dispatch ,返回值为 每个被 dispatch 包装过的 action creator ,子组件可直接调用该方法摘抄自官方文档https://www...

2019-08-14 11:04:21 186

原创 react-router 使用 browserHistory 遇到的问题

react-router 中 history- browserHistory- hashHistoryhashHistory 路径会带#browserHistory get请求时会走服务端,服务端只对 / 路径做处理返回 index.html ,当请求其他路径时找不到匹配返回 404所以使用browserHistory 时,需要当访问其他路径时,服务端也返回 index.h...

2019-08-09 13:11:12 2704

原创 阅读Form组件

Form.create(options)mapPropsToFields onFieldsChange onValuesChangethis.props.form提供的 API(举常用的)方法 说明 类型 getFieldDecorator 用于和表单进行双向绑定 getFieldsValu...

2019-06-03 21:22:30 644

原创 React Hooks 初步尝试

HOOK-API1. 基础 Hook1. useState// 返回一个 state,以及更新 state 的函数。const [state, setState] = useState(initialState);惰性初始 state/* 如果初始 state 需要通过复杂计算获得,则可以传入一个函数,在函数中计算并返回初始的 state,此函数只在初始渲染时被调用:*/...

2019-06-03 21:21:32 169

原创 Decorator(修饰器)实践修饰Api

Es6 Decorator(修饰器)基本摘抄自阮一峰老师Es6入门1. 类的修饰 为类添加静态属性 @testableclass MyTestableClass { // ...}​function testable(target) { target.isTestable = true;}​MyTestableClass.isTestable // tru...

2019-06-03 21:20:31 322

原创 鼠标右击在对应位置展示自定义元素

实现鼠标右击目标,在右击处展示操作列,鼠标左击后操作列隐藏鼠标右击事件onContextMenu<div oncontextmenu="myFunction()" contextmenu="mymenu"><p>在文本框内右击鼠标查看上下文菜单!</p><menu type="context" id="mymenu"> &lt...

2019-06-03 21:19:28 273

原创 项目Request学习

前言看过好几次项目封装的Api(异步请求的封装),这次想大致写一下项目框架封装的Request的实现,以及还存在的思考疑问。开发须知fetch请求 Promise (resolve,reject,race,all) Request、Headers开发实现_request(url, params, method, config) { let requesr =...

2019-06-03 21:18:37 188

原创 js发布订阅者模式

全局的发布/订阅对象发布/订阅模式可以用一个全局的 Event 对象来实现,订阅者不需要了解消息来自哪个发布者,发布者也不知道消息会推送给哪些订阅者,Event 作为一个类似“中介者” 的角色,把订阅者和发布者联系起来。/** * 统一消息管理, 将消息发送给所有订阅这个消息类型的模块 * 采用 订阅/发布(观察者) 这种设计模块式开发 */class MsgCenter {...

2019-06-03 21:16:52 1275

原创 Mobx 学习成果

主要技术栈是使用 React ,所以主要写关于Mobx-React Mobx核心API observable、 computed、 reactions 和 actions observable 将数据制作成可观察数据,当数据更改时,使用该数据且被observer(mobx-react提供)包裹的组件会re-render computed 根据 observa...

2019-06-03 21:15:20 146

原创 学习React Advanced Guides

基础概览state 的使用 React可以将多个 setState()调用合并成一个调用来提高性能 状态更新可能是异步的 不能依靠 this.props 和 this.state 计算下一个状态 setState的第二种形式 this.setState((prevState, props) => { // 先前的状态 prevState...

2019-06-03 21:14:28 141

原创 js 获取div中鼠标选中内容,及索引

Selection 对象const selection = window.getSelection() 获取Selection对象Selection.toString() //获取选中字符Selection.anchorOffset //获取选中字符的开始Selection.focusOffset //获取选中字符的结束...

2018-07-16 18:26:04 4041

原创 获取 textArea 中选中文字的起始索引,获取选中文字

1.获取 真实  dom&lt;TextArea autosize placeholder="输入内容..." className={styles.container} value={text} onChange={(e)=&gt;{this.setState({text: e.target.value});}} ref={node=&gt;this.textArea = node}...

2018-07-16 17:19:22 1791

转载 spring-boot 在idea下配置 spring-devtools不生效

pom.xml依赖&lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-devtools&lt;/artifactId&gt; &lt;optional&gt;true&lt;/optional&gt;&lt;

2018-06-05 18:42:42 271

原创 js select页面回显

当添加时,需要默认select模板&lt;select&gt; &lt;option value=""&gt;请选择&lt;/option&gt; &lt;option value="0"&gt;男&lt;/option&gt; &lt;option value="1"&gt;女&lt;/option&gt;&lt;

2018-03-01 15:35:51 2103 3

原创 jquery $.when()多个异步请求成功后再执行后续方法

$.when( $.ajax( "/page1.php" ), $.ajax( "/page2.php" ) ).done(function( a1, a2 ) { // a1 and a2 are arguments resolved for the page1 and page2 ajax requests, respectively. // Each argument is an arr...

2018-03-01 15:13:29 15946

原创 jquery获取列表中多行数据,并存入一个list中遇到的问题。。

错误做法 :var obj = {};var list = [];循环这个列表,将每行的数据键值对应存入 obj =》 obj:{goodsname:'aa',goodsNumber:1...}然后 list.push(obj);list[obj,obj] 这两个obj指向相同所有数据相同正确做法:(对象是在循环体内新建)var list = []循环这个列表,在循环体内新建 var obj = ...

2018-02-08 17:09:33 3235 4

原创 base64编码,解码

import sun.misc.BASE64Encoder;import sun.misc.BASE64Decoder;//编码String s = "Username";BASE64Encoder encoder = new BASE64Encoder();s = encoder.encode(s.getBytes("utf-8"));syso(s);//解码BASE64Dec

2018-02-05 12:24:42 159

原创 上传对表单和Servlet的限制,以及对上传数据的抓包

1.上传对表单限制 * method="post"* enctype="multipart/form-data"* 表单中需要添加文件表单项:2.上传对Servlet限制* request.getParameter("xxx");这个方法在 表单为enctype="multipart/form-data"时,作废,返回null* ServletInputStream r

2018-02-01 18:06:48 215

原创 分页页码显示计算

1 2 3 4 5 6 7 8 9 10根据当前页码pageNo确定显示列表*begin*endbegin = pageNo-5end = pageNo+1计算公式*如果总页数totalPage*begin = pageNo-5,end = pageNo+4*头溢出 begin*尾溢出 end>totalPage end=totalPage begin =

2018-01-19 10:15:19 826

原创 dbUtils结果集处理器

使用 commons-dbutils jar包用法 (增/删/改)QueryRunner qr = new QueryRunner(JdbcUtils.getDataSource());String sql = "update tb_stu set age=? where sid=?";Object[] params = {25,100};qr.update(sql, param

2018-01-10 12:10:45 311

原创 mysql数据库操作

ddl操作* 查看所有数据库 : show databases; * 切换数据库 : use 数据库名;* 创建数据库 : create database [if not exists] mydb1 [charset=utf8];* 删除数据库 : drop database [if exists] mydb1;* 修改数据库编码 : alter database mydb1 charac

2018-01-05 11:14:52 233 5

转载 解决页面使用overflow: scroll在iOS上滑动卡顿的问题

http://www.jianshu.com/p/1f4693d0ad2d以下代码可解决这种卡顿的问题:-webkit-overflow-scrolling: touch;,是因为这行代码启用了硬件加速特性,所以滑动很流畅。实际上,Safari真的用了原生控件来实现,对于有-webkit-overflow-scrolling的网页,会创建一个UIScrollView,提供子lay

2017-11-01 16:06:30 1190

转载 原生js获取元素大小

1.偏移量offsetHeight:元素在垂直方向上占用的空间大小,包括元素的高度、(可见的)水平滚动条的高度、上边框高度和下边框高度。offsetWidth:元素在水平方向上占用的空间大小 offsetLeft:元素的左外边框至包含元素的左内边框之间的像素距离 offsetTop:元素的上外边框至包含元素的上内边框之间的像素距离2.客户区大小有关客户区

2017-10-12 16:16:05 837

原创 获取函数参数arguments的方法

function test(){var arr = [].slice.call(arguments,0);console.log("arr",arr);}test(1,2,3)// 输出 数组[1,2,3] [].slice.call(arguments,0)  就获得了参数数组对象

2017-10-04 16:48:41 1310

原创 用 express 搭建官网 设置SEO 经验总结

使用 app.get(“/”) 设置路由 app.get(“/b/:id”) 这里的参数 id 可以通过 req.params 获取/b?name=aa&&age=12 查询条件 通过 req.query 获取获取本地文件 (使用promise包装,使用.then()获得数据)fs.readFile.promise("./uploads/seo/seo.json",'utf8');获取到数据后可进

2017-10-03 11:02:11 1069

原创 mongoDB 使用 mongoVue

开机指定数据库位置 mongod --dbpath d:\data\db--dbpath 选择数据库文档所在的文件夹根据网络参考知识,应使用:mongod  --storageEngine mmapv1 --dbpath d:\data\db1.用 mongoVue 直接打开连接即可2.用命令行另外开一个 cmd 输入 mongo 连接数据库show d

2017-09-07 12:27:13 446

原创 react开发笔记 —ant-design框架

有啥问题可以留言提问,使用该框架后学到很多,愿意分享 关于 fetch接口 解决 当调用接口成功,但条件不满足时继续向下执行的问题 使用时 调用load 获得 result的数据//导入包import Promise from 'es6-promise';import fetch_ from 'isomorphic-fetch';Promise.polyfill();var f

2017-09-06 10:24:47 771

原创 express 学习

安装 express 目录结构controller 暴露 显示某个页面models 写主要逻辑方法,读文件,连库public 静态资源文件views 模板文件app.js 入口文件 package.json …写入口文件app.use(express.static("./public"));//静态文件目录app.get("/",router.showIndex);

2017-09-05 09:49:36 276

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除