javascript - 在ajax响应中执行脚本

标签 javascript jquery ajax

我使用 $.ajax 将一些 HTML 代码加载到 div 中功能。但是我在 <body> 中的脚本不执行,你能帮帮我吗,这对我来说非常重要。

enter image description here

这是我的 HTML 主页:

<!DOCTYPE html>
<html>
<head>
<title>Navigation AJAX avec jQuery</title>

<script type="text/javascript" src="js/jquery.js"></script>
  
<script type="text/javascript">
$(document).ready(function() {
	var $contenu_div = $('#content div');
	
	
	$('#nav li a').on('click', function() {
		var url = $(this).attr('href'); 

			$.ajax({
				url: url,
				cache: false,
				success: function(html) {
					$contenu_div.hide().html(html).fadeIn();
				}
			});
				
		return false;
	});
});
</script>
  
</head>
<body>

	<h2>Navigation AJAX with jQuery</h2>

	<div id="menu">
		<ul id="nav">
			<li><a href="pages/page1.html">page 1</a></li>
			<li><a href="pages/page2.html">page 2</a></li>
			<li><a href="pages/page3.html">page 3</a></li>
			<li><a href="pages/page4.html">page 4</a></li>
		</ul>
	</div>

	<div id="content">
		<div>the content of the first page</div>
	</div>
  
  <script src="problem.js"></script>

</body>
</html>

我简化了代码

ajax 导航工作完美,但是 <script src="problem.js"></script>不执行,问题出在哪里?

最佳答案

可以直接将这个ajax函数放入document.ready函数中 喜欢

$(document).ready(function(){
var url = $(this).attr('href'), $contenu_div = $('#content div');
        $.ajax({
            url: url,
            cache: false,
            success: function(html) {
                $contenu_div.html(html);
            }
        });
  });

加载完整的 DOM 后,它将访问服务器并从服务器提取数据。

关于javascript - 在ajax响应中执行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36519701/

相关文章:

javascript - 如何将外部 Javascript 包含到 html5

javascript - 本地 XmlHttpRequest 产生的“跨源”错误消息

javascript - Ajax 上的 POST 请求完成

javascript - 如何让表单在提交之前等待 ajax 完成?

javascript - 向下滚动时增加 div 不透明度

javascript - 更改具有相同颜色的元素的背景颜色

javascript - 为超链接添加 onclick 事件

javascript - 未捕获的范围错误: Maximum call stack size exceeded in browser console

在 .each 中设置 JavaScript/jQuery clearInterval

ajax - Laravel 4 jquery Ajax 请求