代码改变世界

利用JQUERY实现无刷新注册功能

2012-03-11 00:28  weiofn  阅读(394)  评论(0编辑  收藏  举报

利用JQUERY的$.getJSON()与后台数据异步传输,实现无刷新注册功能

 

该方法有三个参数,$.getJSON(String url, Hash params, Function callback)。其中,url是获取JSON结构数据的请求地址,即访问该地址会得到一段JSON结构的文本(这里被JQuery封装了)。params是向url地址的服务发送的参数,服务器可以根据这些参数做出响应。参数的结构跟JSON的结构类似,都是形似“{key1:value1,key2:value2}”的结构。callback为回调函数,即function(json){//code...},在这个函数中做客户端处理。在callback函数中,参数json就是通过向url请求得来的JSON结构文本构造出来的对象。json参数的使用很简单,它是一个哈希表对象,可以通过json.key的方式来使用其中定义的属性。

 

实例

 1 //单位注销
 2 function dwzx(zzjgdm,dwmc,dwmm,lxrxm,lxrdh){
 3 $.getJSON("../json/dwRegisterJson!dwzx.action",
 4 {"t":Math.random(),"zzjgdm":zzjgdm,"dwmc":dwmc,"dwmm":dwmm,"lxrxm":lxrxm,"lxrdh":lxrdh},function(data){
 5 try{
 6 if(data != null){
 7                             var code = data.code;
 8                             if(code!=null){
 9                                 if(code == '0'){
10 ymPrompt.alert({message:'参数有误,请重新输入单位信息进行注销!',title:'单位信息注销',showMask:false});
11                                 }else if(code == '1'){
12                                    var message = "单位信息注销成销!";
13                                    ymPrompt.alert({message:message,title:'单位信息',showMask:false});
14                                    $("#checkyesloading").css("display","none");
15                                 }else if(code == '2'){
16                                    ymPrompt.alert({message:'信息匹配失败,不能注销!',title:'单位信息注销',showMask:false});
17                                 }
18                             }                
19                         }
20                     
21                     
22                     }catch(e){
23                     }
24             }).error(function(){
25             })
26             }
27             //单位注销
28             function checkdwzx(){
29                var zzjgdm = $.trim($("#zzjgdm").val());
30                var dwmc = $.trim($("#dwmc").val());
31                var dwmm = $.trim($("#dwmm").val());
32                var rxm = $.trim($("#lxrxm").val());
33                var lxrdh = $.trim($("#lxrdh").val());
34                ymPrompt.confirmInfo({message:"注销将删除单位所有数据,确定要注销单位"+zzjgdm+"吗?",handler:function(tp){if(tp=="ok"){
35                                          dwzx(zzjgdm,dwmc,dwmm,lxrxm,lxrdh);
36                        }if(tp=="cancel"){
37                        }}});
38 
39                
40             }

 

我们在注销按钮的onclick事件中添加checkdwzx()事件。"../json/dwRegisterJson!dwzx.action”为获取JSON结构数据的请求地址,即访问该地址会得到一段JSON结构的文本;

{"t":Math.random(),"zzjgdm":zzjgdm,"dwmc":dwmc,"dwmm":dwmm,"lxrxm":lxrxm,"lxrdh":lxrdh}为向url地址的服务发送的参数,服务器可以根据这些参数做出响应;

function(data){}函数为为回调函数,即function(json){//code...},在这个函数中做客户端处理,在callback函数中,参数json就是通过向url请求得来的JSON结构文本构造出来的对象。json参数的使用很简单,它是一个哈希表对象,可以通过json.key的方式来使用其中定义的属性。例如,如果我们传入的是前面所述例子的JSON结构,我们可以通过data.code来获取code的第值。

后台处理函数代码:

 

 1     public String dwzx() throws Exception {
 2         String zzjgdm = StringUtils.reEncoding(
 3                 StringUtils.dealNull(getParameter("zzjgdm")), "iso-8859-1",
 4                 "utf-8");
 5         String dwmm = StringUtils.reEncoding(
 6                 StringUtils.dealNull(StringUtils.MD5Encode(getParameter("dwmm"))), "iso-8859-1",
 7                 "utf-8");
 8         String dwmc = StringUtils.reEncoding(
 9                 StringUtils.dealNull(getParameter("dwmc")), "iso-8859-1",
10                 "utf-8");
11         String lxrxm = StringUtils.reEncoding(
12                 StringUtils.dealNull(getParameter("lxrxm")), "iso-8859-1",
13                 "utf-8");
14         String lxrdh = StringUtils.reEncoding(
15                 StringUtils.dealNull(getParameter("lxrdh")), "iso-8859-1",
16                 "utf-8");
17         Map<String,Object> map = new HashMap<String,Object>();
18         
19         map.put("dwid", zzjgdm);
20         
21         TabDW tabDW = tabDWService.findDw(map);
22         if(tabDW.getDwid().equals(zzjgdm) && tabDW.getDwmc().equals(dwmc) && tabDW.getDwmm().equals(dwmm)
23                 && tabDW.getLxrxm().equals(lxrxm) && tabDW.getLxrdh().equals(lxrdh)){
24             map.put("p_DWID", zzjgdm);
25             map.put("p_DWMC", dwmc);
26             map.put("p_LXRXM", lxrxm);
27             map.put("p_LXRDH", lxrdh);
28             map.put("p_DWMM", StringUtils.MD5Encode(dwmm));
29             map.put("p_RetMessage", "");
30             map.put("p_RetFlag", "false");
31             
32             map = tabDWService.zxDW(map);
33             if(map != null){
34                 if(String.valueOf(map.get("p_RetFlag")).equals("true")){
35                     map.put("code", "1");//注销成功
36                 }else{
37                     map.put("code", "2");//不能注销
38                 }
39             }
40             
41         }else{
42             map.put("code", "0");//参数有误,不能注销
43         }
44         jsonobject = map;
45         return "json";
46     }

需要引用 net.sf.json.JSONArray;包名