我在MVC 5项目中工作,我想使用ajax
更改我的内容<script>
$(document).ready(function () {
window.onpopstate = function (e) {
if (e.state) {
$('.body-content').html(e.state.html);
document.title = e.state.pageTitle;
}
};
$("a").click(function (e) {
e.preventDefault(); \\ currently placed here, but
var me = $(this);
$('.body-content').fadeOut(300, function () {
var url = "" + me.attr("href");
if (!url || url.match("^http")) {
debugger;
return true;
}
if (!url || url === "/") {
url = "Home/Index";
}
$('.body-content').load(url, function () {
$('.body-content').fadeIn(300);
//window.history.pushState(
// null,
// 'Terram Novum', // new page title
// url// new url
//);
});
return false;
});
});
});
</script>
这是我到目前为止编写的代码,但有时它仍然会刷新,我无法弄清楚模式或原因。
代码放在_layout.cshtml页面中,我没有从模板中做太多改动。任何人都可以帮助我或找出更好的方法吗?
哦,如果你可以帮我弄清楚当我从一个地区到另一个地区的时候,我会得到奖励积分。
答案 0 :(得分:0)
此代码仅适用于您的首页加载,因为它放在$(文档).ready()中,但随后,一旦您离开第一页并在另一页中加入链接,您就会#39 ; ll必须再次将事件监听器附加到您的所有标签上,因为它们最初并不存在。