鼠标悬停在链接上时进行 Ajax 调用
我正在显示有关鼠标悬停在链接上的一些信息。我通过将鼠标悬停在链接上进行 AJAX 调用并从数据库中获取数据来完成此操作。
问题是,如果我将鼠标悬停在同一个链接上多次,它将进行 AJAX 调用并每次都会访问数据库。但我希望,如果它在第二次鼠标悬停时从数据库中获取特定链接的数据,则它不应再次访问数据库。为此,我需要将数据存储在客户端的某个位置并重用它(我认为)。
处理这种情况的最佳方法是什么?任何人都可以向我建议解决方案吗?
PS:我的页面中有20多个这样的链接。
I am showing some information on mouse hovering on the links. I am doing this by making an AJAX call on mouse hover the the links and fetching the data from database.
Problem is that if I mouse hover several times on the same link it will make the AJAX call and hit the database in each time. But I want if it once fetch the data from the database for a specific link on second time mouse hover it should not hit the database again. For this I need to store the data in client side some where and reuse it(I think).
What is the best approach to handle this situation? Can any one suggest me the solutions?
P.S: I am having more than 20 such links in the page.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
使用
One
函数,它保证调用执行一次。use the
One
function, it guarantees that the call gets executed once.您可以将信息存储在一个或多个隐藏字段中。在第一个请求中,只需检查所请求的信息是否已在其中可用,如果没有,则访问数据库。
You could store the information in a hidden field or fields. On the first request, just check if the requested info is already available in there, and if not, hit the database.
可能这将是一种错误的方式,但您可以通过以下方式执行此操作:
为锚标记定义类属性,并在从数据库加载数据后将类更改为 true 到 false,当有人再次单击此链接时,检查类名它指示什么为 true 执行此操作
或 false,您可以在加载数据后
并检查类以加载数据。
谢谢
May this will be a wrong way but you can do this in this way:
Define class attribute for the anchor tag and change the class to true to false after loading data from database when someone click this link again check the class name what it indicates true or false in this way you can do
after loading data
and check class to load data.
thanks
在 JavaScript 方面,使用哈希表,其中键对应于悬停链接的 ID。您仅在插入新键时调用数据库(如 allHovers[curHover]++; ),这样做的一个附带好处是您将拥有一个列表&您可以随时引用的悬停计数。
on the JavaScript side, use a hash table where the keys correspond to the IDs of links that have been hovered. You only call the DB when inserting a new key (as in allHovers[curHover]++; ) A side benefit of this is that you would have a list & count of hovers that you can reference at any time.