我如何在基于Ajax的网站上制作友好的URL ?



我有一种情况,我必须使URL友好的完全基于ajax的网站。我实际做的是,我有index。php文件,只有div id #content-container。另一方面,我制作了单独的包含文件,即Home.php About.php Contact.php。默认情况下index.php看起来像

index . php

<body>
<div id="content-container">
<?php  include 'Home.php'; ?>
</div>
</body>

假设有一个导航栏,我做了一个ajax调用根据菜单在导航栏被点击像这样的

<script src="../Apparel/Js/jquery.js"></script>
<script>
const content = url => {
$.ajax({
url: url,
success: function(data) {
$('#content-container').html(data);
}
})
}
if (Menu Clicked == 'Home') {
content('Home.php');
} else if (Menu Clicked == 'About') {
content('About.php')
}
if (Menu Clicked == 'Contact') {
content('Contact.php')
}

这样做的目的是让网站像单页应用程序一样,我知道这很容易用React Angular完成,但问题是我想用ajax以这种方式来确保这种策略将如何工作,以明确我的概念。

现在我想强调的问题是使URL对这种类型的工作友好。请有人让我知道,如果有办法,我可以使URL友好的这种情况?如果内容容器中有关于。php的内容那么URL应该是这样的localhost/myApp/about.php和手动输入URL localhost/myApp/Contact.php一样它应该打开Contact.php

在内容容器内,而不是只打开他的内容。我想要锚标记的功能,但要避免页面刷新

您可以通过ajax调用的单个PHP脚本来实现这一点,将请求的类型(home, about, contact等)作为参数传递,例如使用get "https://example.php?type=home",然后在example.php中检查type的内容并生成适当的html。

最新更新