我正在开发我的第一个单页应用程序,但我不确定存储页面数据的最佳方式。
我进行了设置,以便将页面内容保存在我的数据库中,当用户单击其中一个导航链接时,它会对提取页面内容的进程文件进行 ajax 调用,将其格式化为 json 并回显它返回以便 jQuery 可以填充页面。
我遇到的问题是,如果数据库中的任何页面内容包含 PHP,则 PHP 不会被处理甚至显示(但是,如果我查看源代码,我会看到原始 php)。他们是否是解决此问题的更好方法,以便代码运行?
我的 Ajax 调用:
$("nav a").click(function(e) {
e.preventDefault();
var page = $(this).attr("href");
$("nav a").removeClass("menuSelected");
$(this).addClass("menuSelected");
form_data = {
action: "load",
page: page,
is_ajax: 1
}
$.ajax({
type: "post",
url: "process.php",
dataType: "json",
data: form_data,
success: function(data) {
if(data.success === "true") {
$("#asideLeft").html(data.aside_left);
$("#contentMiddle").html(data.content_middle);
$("#asideRight").html(data.aside_right);
} else {
$("#contentMiddle").html("<h1>AJAX Failure</h1>");
}
}
});
当用户单击链接时调用我的 PHP 代码:
if($action == "load") {
$pms->connect();
$result = $pms->dbh->prepare("SELECT * FROM pages WHERE name=:name");
$result->execute(array(':name' => $page));
$page = $result->fetch(PDO::FETCH_OBJ);
$data['success'] = "true";
$data['aside_left'] = $page->aside_left;
$data['content_middle'] = $page->content_middle;
$data['aside_right'] = $page->aside_right;
echo json_encode($data);
}
以及保存在数据库中的 HTML/PHP 示例:
<h1>Content Middle</h1>
<p>Today is <?php echo date("Y-m-d H:i:s"); ?> </p>
感谢您提供的任何帮助或建议。