文章目录

最近的一个项目前端需要一个便捷的框架,基于中文、上手便捷度、使用率、文档可查度等等几个方面,选来选去,挑中了以前跟木哈哈讨论过后放弃掉的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设置为空,则可以只刷新当前页面,而不是关闭
  1. 顶部弹出的对话框不影响操作,过段时间会自动消失,但缺点是展示的时间过长,太容易吸引人去点它,影响体验。暂时还没找到在哪里修改。

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

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

友荐云推荐