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); }); }); });