Symfony控制器中通过文件夹编号获取对应Id的实现方案咨询
实现思路结论
不要把编号与Id的映射逻辑放在前端JS中实现,优先选择「后端新增接口+前端AJAX调用」的方案。
方案合理性说明
为什么不建议全在JS中实现
- 大型项目的文件夹编号与Id的映射属于业务核心数据,全部暴露到前端会带来数据泄露风险,同时如果映射关系量级大,还会造成前端资源加载冗余。
- 后续业务逻辑如果调整(比如新增权限校验、编号规则变更、映射逻辑修改),放在前端需要同步修改所有调用端,维护成本远高于后端统一处理。
正确实现逻辑
- 后端Symfony控制器新增独立的接口方法
- 接收前端传入的文件夹编号参数,优先做参数合法性校验、访问权限校验(当前用户是否有权查询该编号对应的文件夹)
- 调用现有映射逻辑拿到对应Id,正常情况下返回Id给前端,异常情况(编号不存在、无权限等)返回对应错误标识和提示。
- 前端JS逻辑
- 监听用户提交动作,先做基础的前端格式校验(比如非空、符合编号规则)
- 发送AJAX请求调用后端接口,接口返回合法Id后直接执行页面重定向到
/[对应Id]路径;如果接口返回错误,给用户展示对应提示即可。
内容的提问来源于stack exchange,提问作者user7986773
相关产品推荐
相关产品推荐

