文章目录

最近的一个项目前端需要一个便捷的框架,基于中文、上手便捷度、使用率、文档可查度等等几个方面,选来选去,挑中了以前跟木哈哈讨论过后放弃掉的dwz。

不少国人的项目确实是要么没文档,要么文档不全,或者老死不更新。dwz的情况不比他们好多少,不过至少使用者还是很多的,基本用法的资料还是比较好查。

这次就碰到了表单提交响应的问题,对于客户端要传递什么内容,服务器要传回什么内容,demo和手册里实在没找到。上网上看了一下,大致有这个几个方面需要注意。

1. Form标签上增加onsubmit=”return validateCallback(*this, [navTabAjaxDone/dialogAjaxDone]*)”

  1. 服务端必须返回一个包含以下信息的object(无论以什么形式返回,dwz都能解析,但是推荐json):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
{





"statusCode":"200",





"message":"操作成功",





"navTabId":"",





"rel":"",





"callbackType":"closeCurrent",





"forwardUrl":""





}

而在原始代码中其实有相关的注释:

  • form提交后返回json数据结构statusCode=DWZ.statusCode.ok表示操作成功, 做页面跳转等操作. statusCode=DWZ.statusCode.error表示操作失败, 提示错误原因.

  • statusCode=DWZ.statusCode.timeout表示session超时,下次点击时跳转到DWZ.loginUrl

  • {“statusCode”:”200”, “message”:”操作成功”, “navTabId”:”navNewsLi”, “forwardUrl”:””, “callbackType”:”closeCurrent”}

  • {“statusCode”:”300”, “message”:”操作失败”}

  • {“statusCode”:”301”, “message”:”会话超时”}

  1. callbackType设置为空,则可以只刷新当前页面,而不是关闭

  2. 顶部弹出的对话框不影响操作,过段时间会自动消失,但缺点是展示的时间过长,太容易吸引人去点它,影响体验。暂时还没找到在哪里修改。

♦ 本文固定连接:https://www.gsgundam.com/archive/2013-10-19-dwz-form-navtabajaxdone-dialogajaxdone/

♦ 转载请注明:GSGundam 2013年10月19日发布于 GSGUNDAM砍柴工

♦ 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。

♦ 原创不易,如果页面上有适合你的广告,不妨点击一下看看,支持作者。(广告来源:Google Adsense)

♦ 本文总阅读量