利用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的方式来使用其中定义的属性。
实例
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的第值。
后台处理函数代码:
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;包名