jQuery Ajax:插入有时会失败吗?
我使用jQuery Ajax来更新HTML页面中的div。 ajax包含在$(document).read(…)中,如下所示:
$(document).ready(function() { $('a.button').click(function() { var url = $(this).attr('href'); $('#content').load(url); return false; }); });
但是,在单击按钮后,Ajax有时会失败并在整个页面中显示结果,而不是在“content”div中。 当页面加载或刷新时,这种情况经常发生。 但我想$(document).ready(…)会阻止这种情况发生。 什么地方出了错?
Ajax有时会失败,它会在整个页面中显示结果
这表明未使用选择器a.button
选择超链接。 确保您希望通过AJAX加载的超链接具有类名button
,如下所示:
如果要通过AJAX加载所有超链接,请删除按钮选择器。
$(document).ready(function() { $('a').click(function() { https://stackoverflow.com/questions/14452952/jquery-ajax-insert-to-div-sometimes-fails/... https://stackoverflow.com/questions/14452952/jquery-ajax-insert-to-div-sometimes-fails/... }); });
如果在页面加载后由另一个脚本动态创建某些超链接,请尝试以下操作:
$(document).ready(function() { $('body').on('click', 'a', function() { https://stackoverflow.com/questions/14452952/jquery-ajax-insert-to-div-sometimes-fails/... https://stackoverflow.com/questions/14452952/jquery-ajax-insert-to-div-sometimes-fails/... }); });
试试这个
$(document).ready(function () { $('a.button').click(function () { var url = $(this).attr('href'); $.get(url, function(data) { $('#content').html(data); }); }); });