前后端交互方式(同一页面并行开发、变量传递)

刚做完一个项目的改进需求,总结一些项目心得,主要有两方面:

  1. 同一个页面,前后端各负责几个模块开发,如何页面整合?
  2. 前端如何从后端获取数据?

1 前后端按模块开发同一页面

首先,在这个项目中没有用到vue、react这些框架,实现页面的一种做法是前端通过html/css/js把页面搭建出来,再交由后端改造成ftl/jsp等模版页面,但是这个过程造成前后端开发的不同步;另一种做法是前端负责开发一些模块,后端负责开发另一些模块,划分可以按照模块的数据形式,比如可以通过接口获取数据的模块可以交由前端开发,需要很多变量的可以通过后端开发。

具体做法(从前端开发角度出发):

  1. 划分好前后端开发的模块;
  2. 后端创建前端的模块根节点,比如<div id="front_module0_root"></div>;
  3. 前端创建模版文件,本项目使用mustache,在模板中通过{{variable}}调取数据,js应用参考https://github.com/janl/mustache.js;
  4. 在页面的js文件中,通过ajax获取接口数据注入到模版中;
  5. 在页面的js文件中,将模版添加到模块根节点front_module0_root中。

2 前端如何从后端获取数据

在该项目中有两种方式:

  1. 接口
  2. 页面js中的全局变量

第一种方式在上面已经提到了,通过前端js异步读取,一般作为列表等较多数据的交换方式;
第二种方式则是后端将数据存放在页面的<script>标签中,变量名(以$开头的)全大写英文字母组成,在页面后续引用的js文件中都可以获取,一般作为查看更多链接等单一数据的交换方式。





猜你喜欢

转载自blog.csdn.net/Nana_9457/article/details/83546082