Mus*_*usa 5 javascript php ajax
假设我在后端 API 中定义了以下常量:
User::USER_ROLE_NORMAL; // Equal to 0
User::USER_ROLE_ADMIN; // Equal to 1
Run Code Online (Sandbox Code Playgroud)
在我的后端,我现在可以进行以下比较:
if($user->role == User::USER_ROLE_NORMAL)
Run Code Online (Sandbox Code Playgroud)
当我必须在前端应用逻辑时,最佳实践是什么?(其中这些常数未知)
在前端对数字进行硬编码感觉不太合适,如下所示:
if(ajaxData.role == 0)
Run Code Online (Sandbox Code Playgroud)
对于上下文:我需要在前端应用逻辑来更改布局
由于前端和后端逻辑不一定(也不应该)耦合,因此我认为最好的方法是在前端代码中定义这些相同的常量。请记住,前端代码应始终与 API 规范保持一致。
您的操作方式取决于您(可以找到许多好的替代方法)。
如果您使用某种框架,一种(简单的)方法可能是使用一些全局变量或使用某种服务。
就像是:
const role {
USER_ROLE_NORMAL: 0,
USER_ROLE_ADMIN: 1,
};
Run Code Online (Sandbox Code Playgroud)
然后您可以按如下方式使用它们:
if(ajaxData.role == role.USER_ROLE_NORMAL) {}
Run Code Online (Sandbox Code Playgroud)
另一个选项(不太常用)是您可以在后端 API 中创建一个服务,该服务为前端提供这些值以供使用。因此,在前端代码可以使用与角色相关的任何值(例如)之前,必须向后端发出请求,以便获取这些常量值并将其保存在前端中,以便在将来的操作中使用它。
| 归档时间: |
|
| 查看次数: |
1931 次 |
| 最近记录: |