zoukankan      html  css  js  c++  java
  • js_判断当前页面是否有网络和网络连接超时

    2018-04-12

    方法一:通过navigator.onLine属性判断,返回true为有联网状态,false为断网状态。

    1 //方法一
    2 if(navigator.onLine) {
    3     console.log('联网状态');
    4 } else {
    5     console.log('断网状态');
    6 };

     

    方法二:通过请求后台接口返回error错误码,判断网络是否在联网,这里返回的有可能是连不上服务器(断网状态),也有可能是服务器出问题没有数据返回。

     1 //方法二
     2 function ajax(url, data, callback) {
     3     url = location.protocol + '//' + location.host + url,
     4         $.ajax({
     5             url: url,
     6             data: data,
     7             dataType: "json",
     8             type: "post",
     9             success: function(res) {
    10                 console.log('成功回调数据!');
    11             },
    12             error: function() {
    13                 console.log('网络连接失败!');
    14             }
    15         });
    16 };

    方法一确切的可以判断是否是联网状态,方法二不一定是没有网络的导致的,但问题的根源都是用户在操作页面的时候,和后台交互不成功给用户反馈。这两者

    结合使用,就可以组成一个无网络状态和网络请求超时的情况,从而友好的提示用户。

     1 function ajax(url, data, callback) {
     2     url = location.protocol + '//' + location.host + url,
     3         $.ajax({
     4             url: url,
     5             data: data,
     6             dataType: "json",
     7             type: "post",
     8             success: function(res) {
     9                 console.log('成功回调数据!');
    10             },
    11             error: function() {
    12                 if(navigator.onLine) {
    13                         console.log('网络连接失败!');
    14                     } else {
    15                         console.log('网络连接超时!');
    16                     };
    17             }
    18         });
    19 };
  • 相关阅读:
    sublime问题:失去焦点自动保存
    sublime问题:Tab键不缩进
    sublime问题:默认的中文字体显示异常
    pip换源 解决下载速度慢
    Oracle问题:ORA-01843: 无效的月份
    Eclipse设置自动生成的javadoc
    Java命名规范
    redis的道面试题, 有这一篇就足够了
    批量编译生成python的pyd文件
    测试种类大汇总(45类)
  • 原文地址:https://www.cnblogs.com/wush-1215/p/8809840.html
Copyright © 2011-2022 走看看