javascript
Helen_fight
这个作者很懒,什么都没留下…
展开
-
decodeURIComponent解码含有特殊符%25等路径时数据丢失问题
最近在使用decodeURIComponent的时候,发现浏览器参数中含有特殊符号%,会导致decodeURIComponent等解码报错。今天就简单分享一下如何处理这个问题。浏览器中的不安全字符不安全符号 解释 空格 Url在传输的过程,或者用户在排版的过程,或者文本处理程序在处理Url的过程,都有可能引入无关紧要的空格,或者将那些有意义的空格给去掉 引号以及<> 引号和尖括号通常用于在普通文本中起到分隔Url的作用 # 通常用于表示书签或者锚点转载 2022-05-19 10:15:45 · 6075 阅读 · 0 评论 -
正则提取文章里面的一级标题和对应的一级标题内容
最近公司项目有个需求,富文本编辑器上传一篇文章后,需要对文章内容里面的一级标题和对应的标题内容做提取处理,然后文章展示的时候就可以用来做锚链接导航处理。此功能主要用到了以下正则const reg = /<h1(([\s\S])*?)<\/h1>/g改正则用来提取h1标题及其标签里面的内容,改下标签就可以用来提取任意标签内容了。一、一级标签提取具体代码:const article = '<div data-v-65f82510=""><div d原创 2022-04-20 17:16:26 · 1428 阅读 · 4 评论 -
前端下载二进制流pdf文件,下载成功,打开空白问题解决
做pdf文件下载的时候,后端返回了二进制数据流,前端在发起请求时需要设置responseType: arraybuffer 或者blob类型才可以,具体操作可以看我之前的文章(传送门)。一开对接的时候下载打开都是正常的,过后突然就不行了,能下载成功,页数也是正常的,但是打开页面却都是空白的。搜索百度了一番,都是说设置好response Type就可以了,偶然发现有人评论说不能用axios请求要用原生的Ajax请求才可以,试了一下果然成功了。具体代码:downloadFn() { l原创 2021-10-20 16:32:59 · 10228 阅读 · 6 评论 -
js 把含有转义符的字符串转成json格式
在项目中遇到一个问题:在前端需要把后台返回的json字符串转换成一个js中的json对象,可是从后台返回的字符串中含有转义字符:\",在网上查到方法如下,可以处理这种情况:var myjson= eval("("+data+")");...原创 2021-09-26 17:24:41 · 2659 阅读 · 1 评论 -
前端下载二进制流文件
前端下载文件有两种方法,第一种:后台直接返回下载流格式的文件地址,前端用a标签新开窗口或者window.open()下载即可;另外一种:后台返回二进制流文件内容,前端通过blob进行转化后再下载。具体代码:async downloadFn() { this.loading = true; let res = await defenseUserAgreementGet(this.userId); this.loading = false; cons..原创 2021-05-18 11:32:49 · 2264 阅读 · 0 评论 -
H5网页微信授权登录
最近项目做了一个简单的H5在线点酒,用的vue-cli脚手架搭建,运行在微信环境,涉及到微信授权登录,jssdk的使用,微信支付等功能,现记录下一些流程,以便后续自己查阅。微信开发文档传送门一、微信H5网页授权登录授权登录流程微信开发文档已经写的很清楚了,如下:1 第一步:用户同意授权,获取code2 第二步:通过code换取网页授权access_token3 第三步:刷新access_token(如果需要)4 第四步:拉取用户信息(需scope为 snsapi_userinfo)原创 2021-01-29 12:35:39 · 13292 阅读 · 8 评论 -
js注释问题引起的报错
今天做项目遇到了一个奇葩的问题,自己直接用静态页打开的时候是正常的,但是让后端用PHP访问页面的这种形式访问却报了个错误。如下:点进去发现报错位置代码和实际的代码是不一样的,控制台代码:实际代码:和同事找了一圈才发现是因为注释引起的,网上找了下原来是PHP渲染有关(具体参考这里)解决方法:注释//和花括号{,之间必须有空格隔开不然就会报错,所以平时最好养成注释前面加...原创 2020-01-13 16:20:54 · 1089 阅读 · 0 评论 -
node测试源生ajax请求
一、源生ajax GET请求1、get请求代码:function getXHR(){ var xhr = null; if(window.XMLHttpRequest){ xhr = new XMLHttpRequest; }else if(window.ActiveXObject){ try{ xhr = new ActiveXObject('Msxml2.X...原创 2019-08-02 15:18:15 · 119 阅读 · 0 评论 -
jsonp原理实现
前几天看了动脑老师老宋讲的jsonp原理,觉得很受用,现做下笔记。什么是跨域:跨域是浏览器同源策略而产生的,在不同协议,不同端口,不同域名下(以上任意一个不同都算是跨域)的两个服务之间是无法互相访问的。举例:http://www.baidu.com/index.html 调用 http://www.baidu.com/server.php (非跨域)http原创 2017-12-14 15:41:01 · 4735 阅读 · 3 评论