我的情况是这样的。
我需要创建一个这样的网站结构:HOME
+ SINGLE PAGE TEMPLATE
,如member.html
想想一个有人的团队。点击其中一个时,我会显示SINGLE PAGE OF THE PERSON
,因此member.html
的{{1}}来自JSON
。例如,如果我单击John,则会显示John的个人页面,其结构为member.html
。
我的想法是使用Ajax调用PAGE TEMPLATE - member.html
并用JSON
(在本例中为John数据)中填充数据。一切都很好,我可以做到。
但现在我有一个问题。
有没有办法让这个单页直接可以访问?与www.test.com/JohnDoe
谢谢你们!
答案 0 :(得分:0)
我猜你可以在页面加载时检查网址。您可以使用
访问当前网址window.location.href
然后,一旦你有了这个,你只需要做一些简单的字符串解析就可以确定调用哪个ajax以及显示什么。
答案 1 :(得分:0)
如果您正在设计一个简单的RESTful / CRUD网站,您可能会将其编码为URL的一部分。因此,您的AJAX调用将发送到www.test.com/users/:id
,其中:id
部分是您在数据库中单击的用户的ID。
如果您在服务器端处理请求,则可以检测该请求是否是ajax调用,并提供JSON或HTML响应。
答案 2 :(得分:0)
您可以使用PHP执行此操作:每次使用数据执行(或显示)模板时,您都可以使用成员的名称创建一个文件夹,并创建一个名为" index.html"的文件。在此文件夹中包含会员的数据。
接下来是两个PHP文件,第一个是 create_subdir.php ,让用户选择一个成员(ID = 106的John Doe是硬编码的),然后调用成员。 php ,假设加载模板并在屏幕上显示数据(你做这部分:连接到数据库,选择数据,显示它),但它做了别的事情:它创建了一个包含成员的文件夹&# 39;名称并在此文件夹中创建一个名为" index.html"的文件,其中填充了成员的数据。他们在这里:
<强> create_subdir.php 强>
<html>
<body>
<form action="member.php" method="post">
<input type="text" name="id" value="106" hidden/> <!-- JOHN DOE'S ID -->
<input type="submit" value="Click to see John Doe's data" />
</form>
</body>
</html>
<强> member.php 强>
<?php
$id = $_POST["id"]; // GET MEMBER'S ID.
$name = "John Doe"; // DATA RETRIEVED FROM DATABASE WITH "ID".
// CREATE FOLDER WITH MEMBER'S NAME.
$flag = mkdir( $name );
// CREATE FILE.
$flag = file_put_contents( $name . "/" . "index.html","Data to fill file" );
echo "Page created = " . $flag; // JUST TO CHECK IF EVERYTHING WENT FINE.
// header( "Location: create_subdir.php" ); // RETURN TO PREVIOUS PAGE.
?>
这种方法的优点在于,每次为成员执行模板时,他的页面都会自动更新,因为文件&#34; index.html&#34;将重新创建他自己的文件夹。