我尝试使用post from Tutorialzine制作AJAX页面。
此脚本使用AJAX显示页面。问题是该脚本使用数字,例如:subprocess.CalledProcessError: Command '['ping', '-l', '1', '-n', '1', '-w', '750', 'google.com']' returned non-zero exit status 1
,http://example.com/#page1
等。
如何制作此脚本,使其不需要网址中的http://example.com/#page2
或#page1
,#page2
等。
很抱歉,如果我解释错了,英语不是我的母语,而且我很难解释。
的index.html
#home
的script.js
<script type="text/javascript" src="script.js"></script>
<ul id="navigation">
<li><a href="#page1">Page 1</a></li>
<li><a href="#page2">Page 2</a></li>
<li><a href="#page3">Page 3</a></li>
<li><a href="#page4">Page 4</a></li>
<li><img id="loading" src="img/ajax_load.gif" alt="loading" /></li>
</ul>
<div id="pageContent"></div>
load_page.php
var default_content="";
$(document).ready(function(){
checkURL();
$('ul li a').click(function (e){
checkURL(this.hash);
});
//filling in the default content
default_content = $('#pageContent').html();
setInterval("checkURL()",250);
});
var lasturl="";
function checkURL(hash)
{
if(!hash) hash=window.location.hash;
if(hash != lasturl)
{
lasturl=hash;
// FIX - if we've used the history buttons to return to the homepage,
// fill the pageContent with the default_content
if(hash=="")
$('#pageContent').html(default_content);
else
loadPage(hash);
}
}
function loadPage(url)
{
url=url.replace('#page','');
$('#loading').css('visibility','visible');
$.ajax({
type: "POST",
url: "load_page.php",
data: 'page='+url,
dataType: "html",
success: function(msg){
if(parseInt(msg)!=0)
{
$('#pageContent').html(msg);
$('#loading').css('visibility','hidden');
}
}
});
}
答案 0 :(得分:0)
你必须进行4次小改动
1)而url=url.replace('#page','');
使用url=url.replace('#','');
,因此#page1
的输出将为page1
或#home
- &gt; home
以与现在相同的方式将url
传递给ajax并为您的load_page.php
2)将您的所有page_1.html
个html文件重命名为pages/page_home.html
3)将<a href="#page1">Page 1</a>
链接更改为<a href="#home">Page 1</a>
4)将$page = (int)$_POST['page'];
中的load_page.php
更改为$page = $_POST['page'];
因此,根据您的哈希值#some_name
,您应该page_some_name.html