Javascript Ajax取代了整个页面,而不仅仅是div
我有一个带有Ajax调用的页面,该页面应该替换内容div。但是,当单击链接时,整个页面将替换为内容div,而不仅仅是替换它应该替换的文本。有什么想法吗Javascript Ajax取代了整个页面,而不仅仅是div,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个带有Ajax调用的页面,该页面应该替换内容div。但是,当单击链接时,整个页面将替换为内容div,而不仅仅是替换它应该替换的文本。有什么想法吗 $(document).ready(function () { $('#gnav a').click(function () { var page = this.hash.substr(1); $('#contents').html(""); $('#content_wrapper').bl
$(document).ready(function () {
$('#gnav a').click(function () {
var page = this.hash.substr(1);
$('#contents').html("");
$('#content_wrapper').block();
$.get(page +'.php', function(gotHtml){
$('#contents').html(gotHtml);
$('#content_wrapper').unblock();
});
return false;
});
});
HTML
为什么不直接使用$.load()
你能把代码简化成不起作用的Ajax部分吗?我不太清楚你的意思。我认为Ajax本身是可以的,但我对选择器不是很确定……你想用block()和unblock()方法实现什么?即使如此,这些选择器可能应该是$(“#contents_wrapper”)以匹配标记中的id。blockUI是一个插件,在加载ajax时使页面变灰,并在加载div时给您一个漂亮的小消息“请稍候”。Hmm。我猜在blockUI插件的脚本src中,url应该链接到实际的javascript,而不是Github树。我将着重于清理整个代码,在这个过程中,您可能会遇到AJAX错误。
<div id="contents" style="height:1200px; width: 620px">
<!-- all html here that should be replaced-->
</div>
$(function () {
$('#gnav a').click(function (e) {
e.preventDefault();
$('#contents').load(this.hash.substr(1) +'.php')
});
});