javascript - 未授权用户的单独页面或同一页面的不同配置?

标签 javascript php jquery html css

<分区>


想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post .

关闭 8 年前

我正在使用 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/

上一篇:javascript - 如何使用 jQuery 在 asp 中隐藏/显示带有下拉列表更改的面板

下一篇:javascript - 如何使翻转 div 可点击?

相关文章:

javascript - 菜单下拉并检查它是否是当前项目并重定向

php - 在&符号后将字符串传递给 twitter 失败

php - 是否有可能防止 MySQL 查询出错并导致您的网站瘫痪?

c# - 我当前的架构/语法和编码存在大问题

javascript - 检查一个 div 是否悬停在另一个 - jQuery/Javascript

javascript - 如何删除 Chartjs Radar 中的网格线和网格标签?

javascript - 如何在HTML中分别操作两组选项卡?

javascript - HTML 表单无法在移动设备上运行

php - codeigniter - 如果查询结果返回行,如何更新数据库

javascript - 在 jQuery 中,如何在用户输入时检测指定的字符串?