Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.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 特定可爬网的cleanURL AJAX请求_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 特定可爬网的cleanURL AJAX请求

Javascript 特定可爬网的cleanURL AJAX请求,javascript,jquery,ajax,Javascript,Jquery,Ajax,我在这个链接中看到了一个教程: 但我快要失去理智了。作者做了一件不可能的事。他使用了以下代码,查看示例()源代码: <script> // THIS IS WHERE THE MAGIC HAPPENS $(function() { $('nav a').click(function(e) { $("#loading").show(); href = $(this).attr("href");

我在这个链接中看到了一个教程:

但我快要失去理智了。作者做了一件不可能的事。他使用了以下代码,查看示例()源代码:

<script>
// THIS IS WHERE THE MAGIC HAPPENS
    $(function() {
        $('nav a').click(function(e) {
            $("#loading").show();
            href = $(this).attr("href");

            loadContent(href);

            // HISTORY.PUSHSTATE
            history.pushState('', 'New URL: '+href, href);
            e.preventDefault();


        });

        // THIS EVENT MAKES SURE THAT THE BACK/FORWARD BUTTONS WORK AS WELL
        window.onpopstate = function(event) {
            $("#loading").show();
            console.log("pathname: "+location.pathname);
            loadContent(location.pathname);
        };

    });

    function loadContent(url){
        // USES JQUERY TO LOAD THE CONTENT
        $.getJSON("content.php", {cid: url, format: 'json'}, function(json) {
                // THIS LOOP PUTS ALL THE CONTENT INTO THE RIGHT PLACES
                $.each(json, function(key, value){
                    $(key).html(value);
                });
                $("#loading").hide();
            });

        // THESE TWO LINES JUST MAKE SURE THAT THE NAV BAR REFLECTS THE CURRENT URL
        $('li').removeClass('current');
        $('a[href="'+url+'"]').parent().addClass('current');

    }

</script>

//这就是魔法发生的地方
$(函数(){
$(“导航a”)。单击(功能(e){
$(“#加载”).show();
href=$(this.attr(“href”);
加载内容(href);
//历史,国家
history.pushState(“”,“新URL:”+href,href);
e、 预防默认值();
});
//此事件确保后退/前进按钮也能工作
window.onpopstate=函数(事件){
$(“#加载”).show();
log(“路径名:+location.pathname”);
loadContent(location.pathname);
};
});
函数加载内容(url){
//使用JQUERY加载内容
$.getJSON(“content.php”,{cid:url,格式:'json'},函数(json){
//此循环将所有内容放入正确的位置
$.each(json、函数(键、值){
$(键).html(值);
});
$(“#加载”).hide();
});
//这两行只是确保导航栏反映当前URL
$('li').removeClass('current');
$('a[href=“”+url+“]”)。parent().addClass('current');
}
但是我不知道他到底在
content.php
文件上写了什么。这是一个完美的AJAX网站:

  • 它使用后退按钮(并继续使用AJAX!)
  • 它可以访问网站上每个页面的直接链接
  • 当然,它可以在禁用javascript的情况下工作
怎么。。。我这样做;-


我还在学习AJAX…

更具体一点,提供您的代码片段。Sojtin,我只是想了解他的代码。我想有人解释一下他在
content.php
文件中放了什么,因为这是魔法的另一部分。比如,如果他模拟页面的真实链接,那么内容文件到底在做什么,你知道吗?