当点击一个链接时,我正在使用一行简单的jquery来加载一个新的“歌曲意义”。这在Chrome和IE上运行良好,但在Firefox中没有变化。我正在传递带有'sid'变量的歌曲ID,以便loadmeaning.php知道我们正在寻找什么歌。
$('#songmeaning').load('/music/ajax/loadmeaning.php', "sid="+id);
我打开了Firebug,我注意到它实际上是从loadmeaning.php中成功提取数据,它只是不替换#songmeaning的内容 - 而且只是在Firefox中。
是否有其他人遇到此问题,或者可以提供一些提示?
这是在歌曲元素
周围使用的HTML<div class="meaning">
<div id="refresh" onclick="refreshMeaning(<?=$songID;?>)"><img src="/images/refresh_icon.png" height="16" width="16" title="Load More Meanings"></div>
<div id="songmeaning" class="indent"><?=$songMeaning;?></div>
</div>
感谢。
答案 0 :(得分:2)
您是否尝试使用
等新内容替换$('#songmeaning').html('new data from server');
or
$('#songmeaning').text('new data from server');
答案 1 :(得分:1)
仔细检查您的DOM结构,确保 songmeaning
确实是唯一ID。如果它不是唯一的,当您尝试使用它时,不同的浏览器可能会给您不同的结果。除此之外,我什么都想不到。你在Firebug中有任何错误吗?
修改现在(2010-10-29 22:24 BST)点击该刷新链接对我无法在Firefox 或 Chrome中执行任何操作。代码是:
$('#songmeaning').get('/music/ajax/loadmeaning.php', "sid="+id);
get
应为load
。但我假设你做了一些改变?由于您的标题是load
...
编辑现在(2010-10-30 09:07)它在Firefox 3.6上工作得很好,代码又改变了:
$('#refresh').html("<img src='/images/loading.gif' height='20' width='20' title='Loading'>");
$('#songmeaning').fadeOut('fast');
var refreshIcon = function refreshIcon() { $('#songmeaning').fadeIn(); $('#refresh').html("<img src='/images/refresh_icon.png' height='16' width='16' title='Load More Meanings'>"); }
$('#songmeaning').load('/music/ajax/loadmeaning.php', "sid="+id, refreshIcon);
答案 2 :(得分:-1)
您是否在Firebug中看到响应文本?如果它显示空响应,则可能是跨域安全问题。否则,请尝试使用get
代替load
,并将console.log(arguments)
放入回调函数中。
对于它的价值,该页面在FF3.6中适用于我。