<分区>
标签 javascript php jquery html css
我正在使用 HTML、CSS、Javascript、Jquery、PHP 等技术制作一个事件网站。我使用 PHP 从 RESTful 服务检索数据。
有一个单独的事件页面,可供实际目标观众和组织者查看,他们可以在此页面上编辑事件的详细信息。当组织者打开页面时,他应该会看到用于编辑事件详细信息的选项。但是这些选项不应该对其他用户可见。除了这些选项,组织者和其他用户的页面 View 是相同的。
我的问题是我应该使用 Javascript/Jquery 隐藏这些选项吗?或者我应该为这个事件页面的每个版本都有单独的页面,并根据他是否是组织者来引导用户?哪个更好,为什么?
最佳答案
在 php 中你会知道当前用户是否是组织者。只需在响应中发回一个变量,例如 is_organizer: 1,然后您就可以根据用户确定要显示的内容。
如果向用户输出的 html 没有太大差异,那么此方法比使用完全不同的 View 更可取,因为您可以使代码保持干爽并且没有相同标记的重复项。
我假设您已经检查用户是否是组织者,然后才能保存对事件的更改。如果不是,您绝对应该这样做。
更新
这里是根据您最近的评论提供的更多信息。
如果您使用 jQuery 进行 ajax 调用并从 REST api 获取数据,我会这样做(请记住这是伪代码):
$.ajax({
url: "event-data.php"
}).done(function(response) {
html = "";
//loop over events
foreach response.events as event
//add event html
eventHtml = "<div class='event'>" + event.name + "</div>";
//if organizer add edit tools
if response.is_organizer
eventHtml += "<div class='edit-controls'>...</div>";
//concat html string
html += eventHTML;
//insert html to dom
$('#content').html(html);
});
我不知道您如何将 html 插入 dom,但这种方式只是您如何根据用户 Angular 色构建 html 的示例。
附带说明一下,我建议对此类内容使用前端框架。这是一个不错的列表:
https://github.com/showcases/front-end-javascript-frameworks
关于javascript - 未授权用户的单独页面或同一页面的不同配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27764302/