V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
xhslyf
V2EX  ›  JavaScript

前端新人求助,如何和后端程序员在代码上良好配合?

  •  
  •   xhslyf · 2013-02-18 23:06:12 +08:00 · 7266 次点击
    这是一个创建于 4333 天前的主题,其中的信息可能已经有所发展或是发生改变。
    主要有两个问题。

    第一个是请求地址,比如表单获取后需要 $.post 的请求地址,目前我的做法是在私有 JS 文件(除 base.js 外,每个页面一一对应的 JS)中声明一个全局变量如下:

    JS 在相应的位置通过这个 JSON 写好具体用到的每个请求地址,然后程序员每次拿到我们的页面时,就来查看这个 JSON,根据注释填写每一个相应的请求地址。

    第二个是后端程序需要的一些自定义参数,比如很多页面的一些请求需要将用户id一并做请求。
    现在的做法是在每个页面中有一个 <input type="hidden" value="{}" id="J_param" /> 这样的隐藏 input,我在 base.js 这个公用 js 中将其取出来传 JSON 后作为一个全站的全局变量(var J_param = ..........),只要是涉及到服务器请求的地方,都将这个 J_param 和其他参数合并,然后一并提交。

    现在,感觉全局变量不太好,但不知道不好在哪里;而且,后端程序员拿到私有 JS 在看请求地址那里的注释时也是有点朦胧的,他们其实也要大概扫一眼 JS 代码或者我们跑过去稍微解释一下。
    有没有其他更好的解决办法?
    11 条回复    1970-01-01 08:00:00 +08:00
    yimity
        1
    yimity  
       2013-02-19 10:27:26 +08:00
    个人目前的经验就是,在做项目之前,提前预计一下前后端需要配合的地方,然后将需要的数据,数据结构,url 地址及格式,等等这一系列的前后端需要配合的东西,都做个约定,然后后面在做,就按这个约定来做就好了。即使要改,在沟通的地方就比较少了。
    fork3rt
        2
    fork3rt  
       2013-02-19 10:37:07 +08:00
    我是后端 ~ 我的秘籍是和前端成为好朋友。。。。。。
    brando
        3
    brando  
       2013-02-19 12:54:32 +08:00
    我是前端~我的秘籍是和后端成为好朋友。。。。。。
    zxy
        4
    zxy  
       2013-02-19 13:27:42 +08:00
    软件工程?
    leegorous
        5
    leegorous  
       2013-02-19 13:46:22 +08:00
    我感觉有时候隐含一种逻辑是应该由后端工程师来“决定”API长啥样,但其实API长啥样很有可能是后端工程师最不关心的问题。然而这个问题也不是说谁最关心就该谁来搞,而是应该成为一种规范。前端后端都来参与讨论出一些规范(这本身有蕴含了一个学习的过程,可以参考各种项目的各种风格,再筛选,再进化,应该是一页A4纸可以解决的),有了一定的规范基础,配合就比较好做了,要么跟规范走,要么补充规范。
    serious198706
        6
    serious198706  
       2013-02-19 14:03:04 +08:00
    关键是要跟后端程序员多讨论,先列出一个“可能存在”的接口列表,尽量考虑到所有的可能性以及参数。最好可以形成书面文字(写下来,或者使用电子方式,随便),这样双方在开发过程中,都会方便一些,修改起来也会方便一些。
    BTW,我是所谓的“后端”程序员,站在自己的角度上写下的答案。
    qiayue
        7
    qiayue  
       2013-02-19 14:10:22 +08:00
    我是前段,也是后端,我的秘笈是开发前想好需要前后端交换的数据,然后定好URL,定好参数。
    zhanggggfd
        8
    zhanggggfd  
       2013-02-19 20:47:34 +08:00
    我是后端 ~我的秘籍就是搬个机子做他(前端)旁边,边吃边测
    adamwen
        9
    adamwen  
       2013-02-19 22:27:12 +08:00
    我是后端 我的经验是先和前端做个约定 也就是接口文档什么的 然后坐一起测试
    xguox
        10
    xguox  
       2013-02-19 22:31:29 +08:00
    敢不敢前后端通吃?
    rqrq
        11
    rqrq  
       2013-02-19 22:58:04 +08:00
    我是做后端开发的。
    我认为最好的方式是用.json文件来代替定义的http url。

    例如:
    var program_param = {
    "activating":activating.json
    }

    不但前端自己好调试,并且输出的格式内容在.json文件中已经定义好了,无须再费口舌,后端程序员自己去改成正式的url。
    另外还有个好处就是如果出问题后端程序员也无法赖到前端身上,哈哈
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1012 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 21:43 · PVG 05:43 · LAX 13:43 · JFK 16:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.