Chrome浏览器Ajax问题:Ajax请求填充字段,但返回的值几乎总是立即消失

时间:2018-04-30 16:55:36

标签: javascript css ajax perl google-chrome

我有一个用Perl编写的Web应用程序,它使用Ajax来查询MySQL数据库。在Mac和Win上的Firefox,Mac上的Safari和Win / IE / Edge上它完美运行。在Mac或Win上的Chrome中,Ajax会返回一个值,但该值几乎会立即消失。

工作流程是用户输入电子邮件用户名和Javascript" onKeyUp"功能启动Ajax。如果返回的结果消失,如果我只是退回输入用户名的一个字符,然后重新输入,结果会再次显示,并且不会消失。

它并不一致,但大约80%的时间都会发生。

此处是问题视频的链接"在行动":

https://haverford.box.com/s/6a3pqetbv1gt6mktzunx7ptuory3yduv

您可以在视频中看到输入的第一个用户名会显示,然后消失。我在用户名的一个字符上退格,然后名称重新出现并粘住。接下来的两个用户名都没有遇到问题,但第四个也是最后一个用户名都没有。再次,当我删除并重新输入用户名的最后一个字符时,名称又回来了。

另一件可能扮演角色的事情(虽然我不这么认为)是当输入用户名时,另一个Ajax查询会查看用户是否拥有"监督组织,&# 34;如果是,则显示包含所有该人组织的下拉菜单。如果此人没有,则会显示一行,其中包含一个复选框,用于请求新的监督组织。

我不知道这个显示的新行是否会导致问题

似乎问题是在stackoverflow上报告此问题:

AJAX response shows up, then disappears in Chrome (July 2017)

我已尝试过"转换:translateZ(0);"在上面的链接中提到的修复,虽然我不确定我知道要将其添加到页面的哪个元素。我已经尝试了tr,th,td和输入,但没有人解决它。

我真的很挣扎,所以任何帮助都会受到赞赏!

谢谢!

P.S。我应该根据上面的stackoverflow链接上的注释添加,我尝试做一个CMD +然后CMD - 放大然后放出,无论我走哪一种方式,它都会重新出现结果。这让我觉得我需要做一个"重绘"或者"回流"在用户输入用户名并返回结果后稍微延迟一段时间后,或者网页上的某些内容。我尝试了大约30种不同的方式,但没有一种方法有效。不过,我可能会错误地使用javascript,所以如果有人能提供一种非常简单的方法来重绘屏幕,我会非常感激!

0 个答案:

没有答案