XHR

1.前端网络全部笔记

别等时光非礼了梦想. 提交于 2020-08-16 09:15:53
网络全部笔记 # 向浏览器的地址栏中输入一个url按回车之后,网络中都会发生什么? 答: 1.看浏览器的缓存 2.看本机的host C:/windows/system32/drivers/etc/host 127.0.0.1 localhost 3.家里路由器,上级路由,城市的LDNS服务器,继续向上级的DNS服务器找,直到找到GDNS服务器 # HTTP协议简介 - HTTP协议分为两个部分 1.请求 Request 请求头: 请求方式:GET、POST... 路径:url 协议版本:HTTP/1.1 数据体 2.响应 Response - GET请求和POST请求的区别 1.是基于什么前提的?若什么前提都没有,不使用任何规范,只考虑语法和理论上的HTTP协议 GET和POST几乎没有任何区别,只有名字不一样 2.若是基于RFC规范的 1).理论上(Specification):GET和POST具有相同的语法,但是有不同的语义。GET是用来获取数据的,POST是用来发送数据的,其他方面没有区别。 2).实现上的(Implementation):各种浏览器,就是这个规范的实现者。 常见的不同: a.GET的数据在URL是可见的。POST的请求不显示在URL中 b.GET请求对长度是有限制的。POST的请求长度无限制 c.GET请求的数据可以收藏为书签

看完这篇前后端接口联调再也不用相互甩锅了

落花浮王杯 提交于 2020-08-16 06:17:02
介绍   在前后端分离的开发场景下,不可避免的会有前后端联调。在联调阶段,经常会遇到各式各样的问题,比如乱码问题、前端传的数据(字符串、数组、Json对象)后端无法正常解析等问题。   本文希望从源头着手,理清问题的根本原因,快速定位出现问题的位置,让前后端联调得心应手,让甩锅不再那么容易…… HTTP协议   之所以这里会介绍一下HTTP协议,是因为前后端联调离不开HTTP。了解了HTTP协议,有助于更好的理解数据传输的流程,以及更好的分析出到底是在哪个环节出了问题,方便排查。 1. 简介   首先,http是一个无状态的协议,即每次客户端和服务端交互都是无状态的,通常使用cookie来保持状态。   下图为http请求与响应的大致结构(本部分配图均来自于《HTTP权威指南》): 说明:   从上图中可以看出,HTTP请求大致分为三个部分:起始行、首部、主体。在请求起始行里,表面了请求方法、请求地址以及http协议的版本。另外,首部即是我们常说的http header。 2. HTTP method   下面是常用的HTTP请求方法以及介绍: 说明: 我们常用的一般为get于post。 是否包含主体的意思为请求内容是否带主体。例如,在get方式下由于不带主体,只能使用url的方式传参。 3. Content-type   HTTP传输的内容类型与编码是由Content

vue-upload 封装组件-上传组件

半城伤御伤魂 提交于 2020-08-15 23:47:50
我后端的,刚接触vue个星期,根据需求写了个上传控件,很灵活的。没有看element el-upload源码,样式用的element的。感觉vue确实好用。 先看样子: <!-- 单文件上传组件 --> < template > < div > < input type ="file" id ="file" hidden @change ="fileChange" :accept ="accept" > < div v-if ="upMode=='url'" style ="width: 100%;display:inline-flex;" > < el-input :value ="path" disabled ></ el-input > < el-button size ="small" type ="primary" @click ="btnChange" > {{autoUpload?label:'选择文件'}} </ el-button > < el-button v-if ="!autoUpload && loadButton" size ="small" type ="success" @click ="uploadClick" > {{label}} </ el-button > </ div > < div v-else-if ="upMode=='head'"

基于vue-simple-uploader封装文件分片上传、秒传及断点续传的全局上传插件

元气小坏坏 提交于 2020-08-15 12:30:04
目录 1. 前言 2. 关于vue-simple-uploader 3. 基于vue-simple-uploader封装全局上传组件 4. 文件上传流程概览 5. 文件分片 6. MD5的计算过程 7. 秒传及断点续传 7.1 对于前端来说 7.2 前端做分片检验:checkChunkUploadedByResponse 8. 源码及后记 8.1 关于第一个分片丢失问题 2019/8/6更新 1. 前言 之前公司要在管理系统中做一个全局上传插件,即切换各个页面的时候,上传界面还在并且上传不会受到影响,这在vue这种spa框架面前并不是什么难题。然而后端大佬说我们要实现 分片上传 、 秒传 以及 断点续传 的功能,听起来头都大了。 很久之前我写了一篇webuploader的文章,结果使用起来发现问题很多,且官方团队不再维护这个插件了, 经过多天调研及踩雷,最终决定基于 vue-simple-uploader 插件实现该功能,在项目中使用起来无痛且稳定。 如果你只是想实现基本的(非定制化的)上传功能,直接使用 vue-simple-uploader ,多读一下它的文档,不需要更多的二次封装。 如果你只是想实现全局上传插件,也可以参照一下我的实现。 如果你用到了分片上传、秒传及断点续传这些复杂的功能,恭喜你,这篇文章的重点就在于此。 本文源码在此: https://github.com

<转>反向ajax实现

不打扰是莪最后的温柔 提交于 2020-08-15 07:51:05
英文原文: Reverse Ajax, Part 1: Introduction to Comet 在过去的几年中,web开发已经发生了很大的变化。现如今,我们期望的是能够通过web快速、动态地访问应用。在这一新的文章系列中,我们学习如何使用反 向Ajax(Reverse Ajax)技术来开发事件驱动的web应用,以此来实现更好的用户体验。客户端的例子使用的是JQuery JavaScript库,在这首篇文章中,我们探索不同的反向Ajax技术,使用可下载的例子来学习使用了流(streaming)方法和长轮询(long polling)方法的Comet。    前言   web开发在过去的几年中有了很大的进展,我们已经远超了把静态网页链接在一起的做法,这种做法会引起浏览器的刷新,并且要等待页面的加载。现在需要 的是能够通过web来访问的完全动态的应用,这些应用通常需要尽可能的快,提供近乎实时的组件。在这一新的由五部分组成的文章系列中,我们学习如何使用反 向Ajax(Reverse Ajax)技术来开发事件驱动的web应用。   在这第一篇文章中,我们要了解反向Ajax、轮询(polling)、流(streaming)、Comet和长轮询(long polling),学习如何实现不同的反向Ajax通信技术,并探讨每种方法的优点和缺点。你可以下载本文中例子的相应源代码。    Ajax

HTML5操作麦克风获取音频数据(WAV)的一些基础技能

最后都变了- 提交于 2020-08-15 07:28:13
基于HTML5的新特性,操作其实思路很简单。 首先通过navigator获取设备,然后通过设备监听语音数据,进行原始数据采集。 相关的案例比较多,最典型的就是链接: https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API 第一部分: 代码案例 下面,我这里是基于一个Github上的例子,做了些许调整,为了自己的项目做准备的。这里,重点不是说如何通过H5获取Audio数据,重点是说这个过程中涉及的坑或者技术元素知识。直接上代码! 1. HTML测试页面 <!DOCTYPE html> <html xmlns= " http://www.w3.org/1999/xhtml " > <head> <meta charset= " UTF-8 " > <meta name= " viewport " content= " width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0 " > <meta name= " apple-mobile-web-capable " content= " yes " > <title>语音转写</title> <link rel= " stylesheet "

java http大文件断点续传上传代码

谁说胖子不能爱 提交于 2020-08-15 07:18:50
文件上传是最古老的互联网操作之一,20多年来几乎没有怎么变化,还是操作麻烦、缺乏交互、用户体验差。 一、前端代码 英国程序员 Remy Sharp 总结了这些 新的接口 ,本文在他的基础之上,讨论在前端采用HTML5的API,对文件上传进行渐进式增强: * iframe上传    * ajax上传    * 进度条    * 文件预览    * 拖放上传 1.1 传统形式   文件上传的传统形式,是使用表单元素file,参考 http://www.ruanyifeng.com/blog/2012/08/file_upload.html : <form id="upload-form" action="upload.php" method="post" enctype="multipart/form-data" >     <input type="file" id="upload" name="upload" /> <br />     <input type="submit" value="Upload" /> </form> 所有浏览器都支持上面的代码,点击上传按钮后,网页"锁死",用户只能等待上传结束,然后浏览器刷新,跳到表单的action属性指定的网址。 1.2 iframe上传   用户点击submit时,动态插入一个iframe元素 var form = $("

基于vue-simple-uploader封装文件分片上传、秒传及断点续传的全局上传插件

懵懂的女人 提交于 2020-08-15 05:43:05
目录 1. 前言 2. 关于vue-simple-uploader 3. 基于vue-simple-uploader封装全局上传组件 4. 文件上传流程概览 5. 文件分片 6. MD5的计算过程 7. 秒传及断点续传 7.1 对于前端来说 7.2 前端做分片检验:checkChunkUploadedByResponse 8. 源码及后记 8.1 关于第一个分片丢失问题 2019/8/6更新 1. 前言 之前公司要在管理系统中做一个全局上传插件,即切换各个页面的时候,上传界面还在并且上传不会受到影响,这在vue这种spa框架面前并不是什么难题。然而后端大佬说我们要实现 分片上传 、 秒传 以及 断点续传 的功能,听起来头都大了。 很久之前我写了一篇webuploader的文章,结果使用起来发现问题很多,且官方团队不再维护这个插件了, 经过多天调研及踩雷,最终决定基于 vue-simple-uploader 插件实现该功能,在项目中使用起来无痛且稳定。 如果你只是想实现基本的(非定制化的)上传功能,直接使用 vue-simple-uploader ,多读一下它的文档,不需要更多的二次封装。 如果你只是想实现全局上传插件,也可以参照一下我的实现。 如果你用到了分片上传、秒传及断点续传这些复杂的功能,恭喜你,这篇文章的重点就在于此。 本文源码在此: https://github.com

P站(珀恩哈珀)视频下载的几个方法

删除回忆录丶 提交于 2020-08-14 18:02:03
作为学高数的必备网站,P站的视频受广大青年喜爱, 这篇博客介绍了一下我个人总结的几种下载P站视频的方法,主要分下列3类: 1. 网站直接下 P站很多个人收藏者会上传一些不作限制的视频,P站自己也直接提供下载链接,这个就没什么好介绍的 比如这种无私奉献的考研数学,找到Download按钮,选择一个清晰度下载即可, (没有VPN进不了P站?请关闭此标签页) 2. 借助converter工具 相信大部分下载不了的视频的下载按钮右边多了一个"$"字样,点开发现需要付费才能下载,如下图所示 既然都免费看了,为啥不能免费下载?此处必有蹊跷,经过博主个人的多方尝试,选出了下面几个工具帮大家绕过这个恼人的$. google搜索pornhub video download可以找到各种视频下载工具,大部分的原理是提取网页中的动态视频然后整合成一个完整的视频(具体原理在下面第3种方法中会讲到),个人筛选了一下感觉这两个平台比较好用 2.1 savido 专属链接 https://www.savido.net/sites/pornhub 复制P站学习链接到文本框里,按下download按钮,就可以自己选择清晰度下载了 优势:a广告少,b自己内部有一个转换热度下载排名,可以看到最近哪些视频转换频率高, c界面算比较漂亮的 缺点:A转换速度较慢,平均一个视频5-15秒左右 , B部分视频转换不了(致命缺点)

HTML5大数据可视化效果(二)可交互地铁线路图

北城余情 提交于 2020-08-14 12:50:52
前言 最近特别忙,承蒙大伙关照,3D机房的项目一个接着一个,领了一帮小弟,搞搞传帮带,乌飞兔走,转眼已经菊黄蟹肥……有个小弟很不错,勤奋好学,很快就把API都摸透了,自己折腾着做了个HTML5的魔都的地铁线路图,能拖能拽的,还和电子地图做了交互。哥决定把小弟的成果纳入“ HTML5大数据可视化效果 ”系列,以示鼓励(P.S. 其实还挺有压力的,后浪推前浪,新人赶旧人。我们这些老鸟也得注意,免得让00后给抢了饭碗) 效果图对比 网上的地铁图还是很多的,小弟选了这张比较新的做参考。想当年哥来魔都打拼时,图上可就一红一绿打个叉……暴露年龄的话不多说,看图: 再来看看小弟做的: 我是一眼看不出区别,但这可不是一张效果图,而是一个新手仅用了几天做出来的东西,而且里面许多美化和调整是通过程序自动完成的,这就不容易了。更重要的是,它并不是一张死图,而是纯矢量、可交互、有动态效果、无失真缩放的拓扑图!我们先简单看一下交互效果,后面可以详细说说代码的实现。 文本提示弹弹弹 首先,把鼠标移到站点、路段、图标等位置,都会有文本提示弹出,这个比较基本,百度家的就有,小弟也就放了比较简单的弹出内容。如果加上基本介绍啊、相关提示啊、周边信息啊……要是加上广告,就可以赚钱了……反正什么都可以加嘛,就是一个setToolTip命令而已。 站点图标变变变 当鼠标移到站点上时,站点图标做了放大效果,这个效果很贴心