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
文件中放了什么,因为这是魔法的另一部分。比如,如果他模拟页面的真实链接,那么内容文件到底在做什么,你知道吗?