“2023年6月”存档文章有42

JavaScript 数字保留两位小数

我们在在 JavaScript 中页面上存在金额计算的时候,需要保留两位小数。我们可以使用 toFixed() 方法将数字保留指定的小数位数。这个方法会返回一个字符串,表示指定小数位数的数字。下面是使用 toFixed() 方法计算保留两位小数的示例代码:const number = 3.14159; const roundedNumber = number.toFixed(2); conso...

jQuery .ajax 返回 responseText 如何序列化成 json

在使用 jQuery .ajax 提交数据的时候,提交数据有问题,后端返回 400 错误,返回的 400 错误 responseText 为文本类型数据,如何将 responseText 序列化成 json 数据呢?要将返回的responseText序列化为JSON对象,我们以使用JSON.parse()方法。下面是使用jQuery的.ajax()方法获取responseText并将其序列化为JS...

浅谈浏览器通知 Notification

前言前段时间接到一个需求,我们的web系统有电话接听功能。产品希望有电话呼入的时候,能够有效提示用户,无论用户是否在当前的系统页签上,甚至浏览器被最小化以后也能提醒用户。就着这个需求,我做了一些探索。前端对用户的通知一般局限于页面之内,比如alert,confirm。或者js控制一个弹窗提醒用户。有些场景需要在页面之外通知用户,即当用户页签不在本页面,或者浏览器已经被收起来的情况。本文介绍一些浏览...

SignalR与WebSocket:关键区别和如何选择使用

本文将比较SignalR和WebSocket,这两种用于构建实时功能和体验的常用技术,如聊天、实时多人游戏、多用户协作应用或实时位置追踪。什么是 WebSocket? WebSocket是一种实时协议,它在一个TCP连接上为Web客户端(例如浏览器)和Web服务器之间提供持久的全双工通信通道。WebSocket连接始于客户端和服务器之间的HTTP请求/响应握手。客户端始终发起握手,它向服务器发送...

SignalR 与 WebSocket 关键区别

SignalR和WebSocket都是用于实时通信的技术,但它们在一些方面存在区别。下面是它们之间的关键区别以及选择使用的考虑因素:技术和协议:SignalR:SignalR是一个Microsoft开发的库,建立在WebSocket之上。它使用了多种传输协议,包括WebSocket、Server-Sent Events(服务器推送事件)和长轮询,以提供跨多个浏览器和服务器的实时通信能力。WebSo...

Fetch 提交数据与 CSRF

如果使用 fetch 的方式更新数据,同时后端需要先认证 csrf 数据,如果没有 csrf 数据 则会出现 400 错误。下面是一个使用 fetch 的方式更新数据,同时提交 csrf 数据的示例:function changeAPIToken() { // 点击更改 token 按钮之后触发的动作 const changeButton = document.getElementById('kt...

SQLAlchemy 多字段唯一索引

在 SQLAlchemy 如果有多个字段组成唯一索引,下面是一个示例:from sqlalchemy import UniqueConstraint class APIToken(db.Model): __tablename__ = 'api_tokens' id = db.Column(db.Integer, primary_key=True) token = db.Column(db....

Redis 占用内存过多导致硬盘大量读操作

最近 Linux 服务程序经常与 Redis 断开连接,导致服务停止。登录 Redis 服务器之后,发现内存利用率已经达到 90% +,应该是 Redis 占用了过多内存。别问过怎么知道,这台虚拟机上只安装了 Redis 一个程序。内存利用率最高达到 89.5%,截图如下:中间没有数据部分,是由于监控程序卡死,导致监控数据无法上传导致的。通过腾讯云控制台监控程序,我们可以看到磁盘 IO 繁忙比已经...