带有json数据的动态页面 - 页面模板

时间:2015-05-04 15:39:21

标签: html ajax json database


我的情况是这样的。
我需要创建一个这样的网站结构: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

一样

谢谢你们!

3 个答案:

答案 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;将重新创建他自己的文件夹。