找回密码
 立即注册

QQ登录

只需一步,快速开始

凉凉了

注册会员

14

主题

18

帖子

194

积分

注册会员

积分
194
凉凉了
注册会员   /  发表于:2020-7-27 10:08  /   查看:5065  /  回复:3
1金币
本帖最后由 凉凉了 于 2020-7-27 12:50 编辑

页面请求接口数据,通过定时器请求,页面上老是跳弹窗,怎么处理呢,能不能把弹窗去掉呢

今天我们客户就要来参观了,能不能给我一个临时解决方案?

附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

评分

参与人数 1满意度 +5 收起 理由
追风 + 5

查看全部评分

3 个回复

倒序浏览
Simon.hu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2020-7-27 10:29:54
沙发
好的,正常情况下,我建议您仔细去看看原因,是不是网络问题啥的,毕竟这个问题是一直存在的
发生这个问题的原因是,你的第一次请求还没回来,第二次请求就触发了

如果你需要临时的拿下客户的方案的话,我给你教一狠招
就是把浏览器的弹窗方法给黑了,这做法其实是来自,这个教程:传送门
我修改了一句,就是发现如果弹出内容是点过一次这样的提示的话,直接给他禁掉,整体代码如下
  1. var _alert = window.alert;
  2. window.alert = function (msg) {
  3.     var newMsg = msg;
  4.     if (newMsg.indexOf("有超过2个以上的字段存在") != -1) {
  5.         newMsg = "您的数据表没有主键,导致系统不知道应该操作哪条数据。\r\n 请您给您的表添加主键后重新执行当前命令。"
  6.     }
  7.     else if (newMsg.indexOf("UNIQUE constraint failed") != -1) {
  8.         var masssageList = msg.split("\r\n")[2].split(":")[1].split(".");
  9.         var tableName = masssageList[0].trim();
  10.         var feildName = masssageList[1];
  11.         newMsg = "在您的数据表:"" + tableName + ""中的字段"" + feildName + "",您设置了不能重复\r\n但当前却在尝试存储重复的值。";
  12.     }
  13.     else if (newMsg.indexOf("NOT NULL constraint failed") != -1) {
  14.         var masssageList = msg.split("\r\n")[2].split(":")[1].split(".");
  15.         var tableName = masssageList[0].trim();
  16.         var feildName = masssageList[1];
  17.         newMsg = "在您的数据表:"" + tableName + ""中的字段"" + feildName + "",您设置了不能为空\r\n但当前却在尝试存储空值。";
  18.     }
  19.     else if (newMsg.indexOf("您已经点过一次了,休息一下")!=-1){
  20.         return;
  21.     }
  22.     return _alert(newMsg);
  23. }
复制代码
把这个代码放这儿就行

这个是我做的demo

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
追风
中级会员   /  发表于:2023-11-10 14:31:08
板凳
更好的用户体验,但是请求还没有结束,下一次请求来的话,emm
回复 使用道具 举报
Shawn.Liu活字格认证
超级版主   /  发表于:2023-11-10 16:53:58
地板
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部