js逻辑上小概率会出现反人类的逻辑
火狐浏览器对于某些时间格式在new Date时会Invalid Date
1 | new Date('2021/11/08 00:00:00') //正常 |
IE浏览器出现
1 | new Date('2021-11-08 00:00:00') //Invalid Date |
自己手动配置方法转换
1 | /* JSON Date 转日期 */ |
axios请求总是跨域怎么办?
contentType: ‘application/json’ 是变成了非简单请求, 跨域配置已做,但还是报403 ,是因为网关拦截了浏览器的options请求
这个是复杂请求,后端没有对这个header做跨域配置,就会被浏览器认为是跨域。
**withCredentials:**默认情况下,跨源请求不提供凭据(cookie、HTTP认证及客户端SSL证明等)。通过将withCredentials属性设置为true,可以指定某个请求应该发送凭据。
- 默认值为false。
- true:在跨域请求时,会携带用户凭证
- false:在跨域请求时,不会携带用户凭证;返回的 response 里也会忽略 cookie
当配置了
withCredentials = true时,必须在后端增加 response 头信息Access-Control-Allow-Origin,且必须指定域名,而不能指定为*!!!这是最近遇到的问题,后端需要带cookie过去,而前端没有设置为true,所以导致cookie没有传过去,后来发现是没有设置为true
1 | //使用axios库时 |
队友不配合存储不一致localStorage
存储localStorage时,应该保证每次存储的值都是JSON.stringify过的值,每次取出都应该JSON.parse
可设置单独的utils函数专门保存存取方法的统一
1 | localStorage.setItem("token","wang") |
Math.round(四舍五入)(负数)
1 | Math.round(1.2) //->1 |
别忽略parseInt的第二个参数
1 | ['1','2','3'].map(parseInt); //->[1, NaN, NaN] |

不要相信浏览器的打印
某天,后台返回一个数据id:576460752305053383
当我在控制台console.log(id)看这个数据的时候,打印出576460752305053300,结果却不是我想要的。。。
由于后端long数据类型转化为js的数字类型时,超出17位事,会自动将超出部分转化为0
解决方法:数字类型转化为字符串
骚操作-如何一句话让你页面可编辑
1 | document.body.contentEditable=true |
windows和mac换行符不一样的原因导致很多警告
git的问题,默认情况下,Windows上pull的时候会自动把LF转换成CRLF,然后push 的时候CRLF会转会LF,所以要么关闭git的这个自动转换,要么prettier改一下换行符的配置
执行了git config –global core.autocrlf false命令,重新clone项目
fetch请求本地json
请求本地json 需要进行res.json 会返回一个promise 在then后返回就是数据
1 | fetch("./bar.json") |
谷歌浏览器保留页面跳转前的请求
开发中往往会遇到这样的情况,调试一个请求,但是请求中有报错的跳转,结果一刷新页面就自动跳转了,也看不到请求报错,这个时候只要勾选上preserver log即可
new Date(time)
当你想获取当前时间的时候
世界时间UTC
1 | new Date('2021-03-05') //Fri Mar 05 2021 08:00:00 GMT+0800 (中国标准时间) |
Axios请求库封装问题
当我们使用axios.create创建的axios实例在使用普通的get
、post、put时没问题,但是如果你使用all、spread、Cancel、CancelToken、isCancel方法,将会告诉你,方法不存在。
如果要使用all,spread,请直接引入axios进行使用