我仅在未显示 Ajax 响应的 Chrome 中遇到问题。奇怪的是,当我将鼠标悬停在页面的主菜单上时,响应会显示出来,并且当我将鼠标再次从主菜单移开时也会保持不变。
下面是更具体的描述: 该页面包含一个搜索框,允许用户开始输入联系人姓名。当用户键入时,会发出一个 ajax 请求以返回建议的联系人列表。然后,用户可以单击与该列表中的联系人对应的单选按钮以显示该人的所有联系人信息。到目前为止,一切正常。但是现在如果用户回到搜索框改变他的搜索,之前返回的联系人列表会消失,但是新搜索的新联系人不会出现。正是单击单选按钮导致以下搜索不显示任何 ajax 响应。现在奇怪的是,如果用户将鼠标悬停在页面顶部的主菜单上(使用 css),响应确实会显示出来,如果用户再次将鼠标从菜单上移开并且之后一切正常,它也会保持不变。这是页面结构:
<div id="fixedTopBar">
<?php
include("include/mainMenu.php");
?>
</div>
<div id="pageContent">
<div id="contactListContainer">
<form>
<input id="contactSearchBox" type="text" autocomplete="off" onkeyup="showHint(this.value, 'contactList', null , 'include/ajax/getContacts.php')">
</form>
<div id="contactList">
<form>
<?php
echoAllContacts(getContactsFromDatabase());
?>
</form>
</div>
</div>
<div id="profile"></div>
ajax 请求是使用 id="contactSearchBox" 输入中的 showHint() 函数发出的,响应显示在 id="contactList" div 中。
所以简而言之,单击单选按钮会导致问题,将鼠标悬停在顶部菜单上可以解决问题(很奇怪,不是吗?)。
如果您有任何想法,或者如果我说的任何内容没有意义,请告诉我您需要哪些其他代码来追踪问题。
提前致谢!