从实现与体验来看,无疑用Ajax来做比较好
全自动化的错误信息回填
良好的用户体验
从应用的角度来看,需要考虑
用户无法提交时,如何找到问题所在
重要的页面是否要Ajax,普通的post是否更好?
如果考虑代码可以重用(如跨域,第三方等),Ajax还是有限制。
再从Ajax与普通Post的提交的代码上看待这一问题。
最重要的问题是在错误信息的回显这一功能。——而这一功能单纯的后端或前端都是不能解决的,要找出一个合理的解决方案是后端结合前端JS来实现一个validator功能。
而其它方面Ajax确实能更好的提高用户体验。但并不是主要问题。
因此应用POST与AJAX的地方可以大概的归纳如下:
大多数业务都可应用,但个别重要的,与第三方接口式的地方可以再考虑普通POST是否更适用。
复杂的业务或回显信息,更多使用Ajax会更好。使代码更利用阅读和维护。
跨域(如有必要的话)提交,用普通POST。
需要注意的是:Ajax里打印日志是很重要的,在发送,接收,失败时都要有日志方便找出问题所在,否则线上处理用户的问题会让人非常的头痛。
发送AJAX post信息时也应该在HTTP头里加上信息标识是ajax发送的。
这方便以后的处理(例如:anti-spam,其它手持设备的普通post的支持可以根据HTTP头部来识别)。
解决问题很容易,如果在现阶段把握当前的信息,看到以后会大概出现的问题,或者说尽可能少的留下历史问题,这才是真正公司需要的开发人员。