地址三级联动是直接用js前台数据处理还是运用后台和ajax读取数据?

clipboard.png

想实现这种三级联动菜单,js也能实现,但是中国那么多个城市,一下子全部挤在js文件里面可以吗?还是说运用后台mysql数据库还有ajax实现?

阅读 11k
14 个回答

光是js就可以了,虽然中国城市是很多,但是全部挤在一个json里面也问题不大的。

很难说,这个得看业务场景

举个简单例子,早期的地址就是 省-市-县三级联动,最多写个主要乡镇,四级吧,你写在前台没有问题

你再看看现在的淘宝,主流的地址定位,已经让后台智能分析街道并定位了,你不用ajax怎么办

看你这些数据是要保存的吧

一般会有省市地区的表,然后ajax去后台取数据,拿关联数据。

后来显示、修改的时候也方便。

之前做的是数据存后台,ajax取。但我觉得完全可以放在一个json文件中

这个都是前端请求后,后台返回一个嵌套数组。初始将第一层省份循环出来,然后绑定change事件通过省份查询整个数组,取出市的列表,区的方法是一样的。
如果处理起来麻烦,可以找找插件。

如果只是一个端,比如WEB,完全可以放到json文件中去用js实现。如果是多端,如果后期没有数据的变动也是可以的。如果有变动或不确定变动,建议放到后端维护

当然不建议写在js文件里,显low,如果只是一级省/市使用json没问题。。。但像这种三级的最好使用后台数据,因为省、市、地区都需要进行联动,每一层联动都应该发一个请求到后台拿去对应下一级的市或者区域的列表回来渲染列表

如果你是前端直接丢给后台 每次ajax去取
如果你是后端直接丢给前端,叫他写个json
工作量要记得往外丢~~

我用的是直接使用js处理就行了,没必要去读取数据库处理

这样的数据不属于业务数据,而且,和平年代,地区名称一般不会大的变动,是不用维护的,所以还是直接作成json文件存起来,存入后台的数据要考虑维护行,最好和业务有关联

这些省市都是固定的,何必要去请求后台给服务端增加徒劳的压力呢。明明前端一个json文件维护好,js渲染就好了。要是省市有新增更换,维护json就好了

其实可以从后台取一次数据,然后存储在本地,这样会有不少的性能提升

最好是后端实现,地区这一类写在前端就写死了,不灵活。
后端可以提供后台管理,能对地区进行增删改查,而且对于多端使用也比较灵活。

一般情况思路是这样的:
页面加载的时候后端会给出第一级的数据,这个时候用户选择了一级目录下的某一项,js事件触发,获取这一项的值,ajax发送请求,通过这个值去取到第二级的数据,js加载出来,三级同理等等;

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏