根据网址

时间:2017-09-23 13:05:54

标签: javascript php jquery html

我有一个处理

等请求的后端
http://mysite/A.html // return A.html
http://mysite/B.html // return B.html
http://mysite/C.html // return C.html

现在我需要添加网站菜单以便从中访问A,B,C页面而无需重新加载页面。 如果我加载页面A.html,然后单击菜单中的B,则应显示页面B,并且URL将变为http://mysite/A.html#B

所以我需要以某种方式编写代码以允许用户提出这样的请求:

 http://mysite/A.html // show A.html
 //...same for B.html, C.html
 http://mysite/A.html#B // show B.html
 http://mysite/C.html#A // show A.html
 //...etc

据我所知,PHP后端无法在URL中处理#,所以我需要使用Js。 那么伙计们,这里有什么想法吗?

目前如果我处理请求 http://mysite/A.html#B,我从PHP后端加载A.html,然后使用JQuery手动将页面内容替换为B.html。

PS:我的当前方法在将自己替换为B.html之前显示页面A.html一秒钟,这对我不利。

1 个答案:

答案 0 :(得分:0)

您可以使用jQuery Ajax GET方法返回另一个页面的HTML内容。

<强>的jQuery

$('a').on('click', function(e) {
e.preventDefault();
var ID = $(this).attr('href');
$.get(ID, function(data) {
$('#MyReturnDiv').html(data);
});
});

<强> HTML

<a href="directory of return/A.html">A</a>
<a href="directory of return/B.html">B</a>
<a href="directory of return/C.html">C</a>

<div id="MyReturnDiv"></div>