一旦URL由window.pushState更新,我的网站就不会在刷新页面时加载 . 我的网站保存在以下位置:http://localhost/ajax.test/index.html但在点击href =“1”的链接后,网址将更改为http://localhost/ajax.test/1 ..这里是源代码:
html: ``
`<!DOCTYPE html>
<html> <head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="myscript.js"></script>
</head>
<body>
<ul>
<li class="list" id="1"><a href="1">home</a></li>
<li class="list" id="2"><a href="2">project</a></li>
<li class="list" id="3"><a href="3">about</a></li>
</ul>
<div id="dynamic"></div>
</body>
</html>` ``
jQuery的:
var url = 0;
var state=0;
$(document).ready(function(){
$('ul a').click(function(e) {
e.preventDefault();
alert(e.target);
url = $(this).attr("href");
history.pushState({page:url}, url,url);
loadContent(url);
});
});
$(window).bind('popstate', function(e){
state = event.state;
if(state){
loadContent(state.page);
}else{
loadContent("home");
}
});
function loadContent(currentPage){
alert(currentPage);
$.ajax({
type: "GET",
url: "ajax.php",
data: "id="+currentPage,
success: function(data){
$('#dynamic').html(data);
}
});
};
PHP:
<?php
$response = $_GET['id'];
if($response=="1")
{
echo "<h1>You loaded HOME</h1>";
}
else if($response=="2")
{
echo "<h1>You loaded PROJECT</h1>";
}
else if($response=="3")
{
echo "<h1>You loaded ABOUT</h1>";
}
?>