Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ajax取代了整个页面,而不仅仅是div_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript Ajax取代了整个页面,而不仅仅是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

我有一个带有Ajax调用的页面,该页面应该替换内容div。但是,当单击链接时,整个页面将替换为内容div,而不仅仅是替换它应该替换的文本。有什么想法吗

$(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')
    });
});