好的,正常情况下,我建议您仔细去看看原因,是不是网络问题啥的,毕竟这个问题是一直存在的
发生这个问题的原因是,你的第一次请求还没回来,第二次请求就触发了
如果你需要临时的拿下客户的方案的话,我给你教一狠招
就是把浏览器的弹窗方法给黑了,这做法其实是来自,这个教程:传送门
我修改了一句,就是发现如果弹出内容是点过一次这样的提示的话,直接给他禁掉,整体代码如下
- var _alert = window.alert;
- window.alert = function (msg) {
- var newMsg = msg;
- if (newMsg.indexOf("有超过2个以上的字段存在") != -1) {
- newMsg = "您的数据表没有主键,导致系统不知道应该操作哪条数据。\r\n 请您给您的表添加主键后重新执行当前命令。"
- }
- else if (newMsg.indexOf("UNIQUE constraint failed") != -1) {
- var masssageList = msg.split("\r\n")[2].split(":")[1].split(".");
- var tableName = masssageList[0].trim();
- var feildName = masssageList[1];
- newMsg = "在您的数据表:"" + tableName + ""中的字段"" + feildName + "",您设置了不能重复\r\n但当前却在尝试存储重复的值。";
- }
- else if (newMsg.indexOf("NOT NULL constraint failed") != -1) {
- var masssageList = msg.split("\r\n")[2].split(":")[1].split(".");
- var tableName = masssageList[0].trim();
- var feildName = masssageList[1];
- newMsg = "在您的数据表:"" + tableName + ""中的字段"" + feildName + "",您设置了不能为空\r\n但当前却在尝试存储空值。";
- }
- else if (newMsg.indexOf("您已经点过一次了,休息一下")!=-1){
- return;
- }
- return _alert(newMsg);
- }
复制代码 把这个代码放这儿就行
这个是我做的demo
|