Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.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 更容易/正确地知道何时加载整个页面或仅加载部分页面_Javascript_Ajax_Web - Fatal编程技术网

Javascript 更容易/正确地知道何时加载整个页面或仅加载部分页面

Javascript 更容易/正确地知道何时加载整个页面或仅加载部分页面,javascript,ajax,web,Javascript,Ajax,Web,我已经实现了一些简单的页面,其中有一个页眉、一个内容区域和一个页脚 <div id=header></div> <div id=content></div> <div id=footer></div> 脚本位于index.html(被视为“欢迎文件”)上,我可以从中加载内容。但是,这里有一个问题:当我通过url直接访问一个资源时,也就是说,不单击元素(例如,site.com/sports),我的服务器将返回与体育相关的页面

我已经实现了一些简单的页面,其中有一个页眉、一个内容区域和一个页脚

<div id=header></div>
<div id=content></div>
<div id=footer></div>
脚本位于index.html(被视为“欢迎文件”)上,我可以从中加载内容。但是,这里有一个问题:当我通过url直接访问一个资源时,也就是说,不单击元素(例如,site.com/sports),我的服务器将返回与体育相关的页面,没有页眉或页脚。 为了解决这个问题,我在服务器上检查请求中名为“ajax”的参数;如果是真的,它会用请求的特定数据进行响应。但如果“ajax”是错误的或没有通知,那么我会同时发送页眉和页脚


我这样做正确吗?还有别的办法吗?有什么好书/文章可以让我找到这个答案吗?

如果你在使用apache,你可以通过友好的url来做到这一点。 在htaccess,您可以隐藏index.html,并通过GET调用页面。
Apache将自动将其更改为site.com/index.html?page=anything

为什么要直接访问它们?服务器端只有html还是使用PHP?@BabyAzerty我的服务器端依赖javaservlets@DaveNewton任何用户都可以直接访问(n)个url,如site.com/new_promotion,在这里,我直接访问促销内容,而不是主页。然后,你试图在URL中嵌入太多功能。
    $("#main-menu a[rel='tab']").click(function(e){
        pageurl = $(this).attr('href');
        $.ajax({url:pageurl,success: function(data){
            console.log(data);
            $('#content').html(data);
        }});

        if(pageurl!=window.location){
            window.history.pushState({path:pageurl},'',pageurl);
        }
        return false;
    });