ajax 网络延迟 异步,利用 jQuery 的 Ajax 来实现检查网络延迟多少秒
原理
发起一个 Ajax 请求,开始记录一个时间,Ajax 返回 sucess 时的,记录这个时间为耗时时间,耗时时间-开始时间得出时间就是耗时的时间,通过耗时时间结果来根据 200,500 来设置辨别网络快慢
代码
new Date ().getTime () 是获取毫秒
$.ajax ({
url: "/study/lag",
timeout: 3000,
success: function (data, text, xhr){
if (xhr.status == 200){
var lag = new Date ().getTime () - start;
if (lag < 200){
$("#lag").attr ("title", "网络畅通:"+lag+"ms").attr ("src", "/study/static/images/ic_network_cell_black_24dp.png")
}else if (lag < 500){
$("#lag").attr ("title", "网络较慢:"+lag+"ms").attr ("src", "/study/static/images/ic_network_cell_black_24dp_lag.png")
}else{
$("#lag").attr ("title", "网络很慢:"+lag+"ms").attr ("src", "/study/static/images/ic_network_cell_black_24dp_block.png")
}
}else{
$("#lag").attr ("title", "网络未连接").attr ("src", "/study/static/images/ic_network_cell_black_24dp_not.png")
}
},
error: function (){
$("#lag").attr ("title", "网络未连接").attr ("src", "/study/static/images/ic_network_cell_black_24dp_not.png")
},
complete: function (){
checkLag ();
}
})
上面只是一个请求,如果我们想隔 1 分钟检测一次呢,怎么办
写个函数,然后定时任务
// 延迟
function checkLag (){
setTimeout (function (){
var start = new Date ().getTime ()
$.ajax ({
url: "https://www.baidu.com",
timeout: 3000,
success: function (data, text, xhr){
if (xhr.status == 200){
var lag = new Date ().getTime () - start;
if (lag < 200){
$("#lag").attr ("title", "网络畅通:"+lag+"ms").attr ("src", "/study/static/images/ic_network_cell_black_24dp.png")
}else if (lag < 500){
$("#lag").attr ("title", "网络较慢:"+lag+"ms").attr ("src", "/study/static/images/ic_network_cell_black_24dp_lag.png")
}else{
$("#lag").attr ("title", "网络很慢:"+lag+"ms").attr ("src", "/study/static/images/ic_network_cell_black_24dp_block.png")
}
}else{
$("#lag").attr ("title", "网络未连接").attr ("src", "/study/static/images/ic_network_cell_black_24dp_not.png")
}
},
error: function (){
$("#lag").attr ("title", "网络未连接").attr ("src", "/study/static/images/ic_network_cell_black_24dp_not.png")
},
complete: function (){
checkLag ();
}
})
}, 1000 * 60)
}
checkLag ()
控制台
function checkLag (){
setTimeout (function (){
var start = new Date ().getTime ();
$.ajax ({
url: "https://www.heibaiketang.com",
timeout: 3000,
success: function (data, text, xhr){
if (xhr.status == 200){
var lag = new Date ().getTime () - start;
if (lag < 200){
console.log ("网络畅通:"+lag+"ms");
}else if (lag < 500){
console.log ("网络较慢:"+lag+"ms");
}else{
console.log ("网络很慢:"+lag+"ms");
}
}else{
console.log ("网络未连接");
}
},
error: function (){
console.log ("网络未连接");
},
complete: function (){
checkLag ();
}
})
},10*1000);
}
checkLag ();
ajax 网络延迟 异步,利用 jQuery 的 Ajax 来实现检查网络延迟多少秒相关推荐
- ajax 获取用户ip地址,利用jQuery实现Ajax获取当前IP地区位置代码
特效描述:利用jQuery实现 Ajax 获取当前IP 地区位置代码.利用jQuery实现Ajax获取当前IP和地区位置代码 代码结构 1. 引入JS 2. HTML代码 AJAX检测ip和地区 $( ...
- ajax返回的图片数据格式,jquery发送ajax请求返回数据格式
jquery向服务器发送一个ajax请求后,可以返回多种类型的数据格式,包括:html,xml,json,text等. 1.html格式的数据 " "+username+" ...
- php中jquery ajax请求参数,浅谈Jquery中Ajax异步请求中的async参数的作用
之前不知道这个参数的作用,上网找了前辈的博客,在此收录到自己的博客,希望能帮到更多的朋友: test.html asy.js function testAsync{ var temp; $.ajax( ...
- 利用jquery操作ajax,利用jquery对ajax操作,详解原理(附代码)
1.jQuery load() 方法 jQuery load() 方法是简单但强大的 AJAX 方法. load() 方法从服务器加载数据,并把返回的数据放入被选元素中. 语法: $(selector ...
- 基于jquery的ajax聊天室系统,基于jQuery的Ajax聊天室应用毕业设计(含外文翻译)...
基于jQuery的Ajax聊天室应用毕业设计(含外文翻译) 毕业设计(论文) I 基于基于 jQuery 的的 Ajax 聊天室应用聊天室应用 摘摘 要要 随着网络的逐渐普及,以及网络技术的不断发展, ...
- ajax post提交数组6,jQuery的ajax()、post()方法提交数组,参数[] 问题
当用$.ajax()向后台提交参数时,如果参数中数组的话一般在后台会用List,或Integer[] 等数组对象进行接收. 比如: $.ajax({ type: "POST", u ...
- ajax静态加载图片,JQuery实现Ajax加载图片的方法
本文实例讲述了JQuery实现Ajax加载图片的方法.分享给大家供大家参考,具体如下: 最近在学习JQuery,想从原理上模拟一下无刷新的相册浏览. 最先想到的思路是利用缓存,也就是先显示提示消息,然 ...
- ajax提交时页面转圈,jquery的ajax提交时loading提示的处理方法
方法1:使用ajaxStart方法定义一个全局的"加载中..."提示 $(function(){ $("#loading").ajaxStart(functio ...
- ajax没返回响应数据,jQuery的Ajax时无响应数据的解决方法
jQuery的Ajax时无响应数据的解决方法 复制代码 代码如下: $.ajax( { type: "POST", url: "/MemberComment.aspx/G ...
- html ajax提交表单实例,jQuery使用$.ajax提交表单完整实例
本文实例讲述了jQuery使用$.ajax提交表单的方法.分享给大家供大家参考,具体如下: 首先,新建Login.html页面: /p> "http://www.w3.org/TR/x ...
最新文章
- ssh2 文件服务器,使用Node.js和SSH2从SFTP服务器读取文件
- mysql 重置root_MySQL 重置Mysql root用户账号密码
- 关于JS获取select值的两种实现方法
- Reduce归约 证明原理
- 查看磁盘阵列 使用率(简单)
- 前端js如何生成一个对象,并转化为json字符串
- idea关联本地的svn项目
- 亚马逊、速卖通、temu、国际站卖家如何做自养号测评?干货分享
- 常见的图像分割方法有以下几种
- linux 命令 unicode,linux下中文转unicode
- powerdns 安装部署备忘
- Ngnix 配置文件快速入门
- 微信小程序实现微信APP上的扫一扫扫码跳到小程序对应的结果页面和签字等功能
- b站React禹哥版视频笔记-React应用(基于react脚手架)
- Java8新特性之Stream流式编程
- #XMind 8 Update 8下载与补丁激活
- 雨中竞速,本周F1DeltaTime大奖赛带你清凉一下
- 如何在线将XPS转换成PDF?
- 使用命令行进行文件操作
- 【数据编制架构】什么是数据编织(Data fabric)? 完整指南
热门文章
- 【收藏】李纪为:初入NLP领域的一些小建议
- 【机器学习】今天详细谈下Soft Margin SVM和 SVM正则化
- 干货 | 一文掌握常用的机器学习模型
- 【每日算法Day 98】慈善赌神godweiyang教你算骰子点数概率!
- 深度学习14-实战三-Google涂鸦识别挑战项目(上)
- 机器学习入门——numpy与matplotlib的使用简介
- 回顾2020年那些“领域第一本”,每一本都强烈推荐!
- 博文荐书:阿里运维、Java微服务、Scala编程
- 【震撼】《京东技术解密》获众大神集体推荐,4千人10年经验一次放送
- 解决DEFINE_string(result_path, result, Path for results) NameError:name 'os' is not defined