gpt4 book ai didi

jquery - Ajax请求 'overlapping'

转载 作者:行者123 更新时间:2023-11-30 00:31:00 30 4
gpt4 key购买 nike

我使用 AJAX 和 JQuery 从 MySQL 数据库中提取数据,基本上使用以下内容:

function getCard(card, lineNr, linedisplay, type){

var textToWrite;
var d = 'card='+card;


$.ajax({
type: "POST",
url: "getcard.php",
data: d,
success: function(theXML){

cardname = $(theXML).find('card_name').text();
pastline = $(theXML).find('past').text();
presentline = $(theXML).find('present').text();
futureline = $(theXML).find('future').text();
...

if(type=="past") textToWrite = pastline;
else if (type=="present") textToWrite = presentline;
else textToWrite = futureline;
...


$("#"+lineNr).html(textToWrite);
$("#"+linedisplay).html(textToWrite);
$('.fancybox').prop('title', cardname);
}

});
};

这用于使用 getcard.php 从 MySQL 表调用数据(不确定您是否需要看到它 - 基本上它将表行中的数据放入 XML,

<card_name>{$row['card_name']}</card_name>
<past>{$row['past']}</past>
<present>{$row['present']}</present>
<future>{$row['future']}</future>,

等)。

当点击卡片链接时,会出现一个 fancybox 弹出窗口,其中包含卡片数据(过去线等)和卡片名称作为 fancybox 标题。

除了一件事之外,所有这些都工作正常。卡名值的刷新速率与其他数据不同。也就是说,我点击的第二张卡的标题与我点击的第一张卡的标题相同 - 但显示在 div 中的其余新数据(过去线、现在线等)显示得很好,但是除非我疯狂地点击 fancybox 几次,cardname 才会刷新。

谢谢,我正在猜测一切的方法。

有什么方法可以让 AJAX 确保它拥有最新的数据并阻止其重叠吗?

最佳答案

看来你的卡片标题是一个 fancybox .prop,而卡片文本是由函数插入到 DOM 中的 html。如果无法测试您的代码,可能您只是将属性与 fancybox .prop 调用绑定(bind),并且 fancybox 需要由事件触发?也许用 jquery 的 on() 附加它,或者在 fancybox 中可能有一些东西(我不太熟悉它)?

关于jquery - Ajax请求 'overlapping',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22522235/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com