jquery的ajax请求处理以及处理后台java传的json数据

一、$.ajax的一般格式

$.ajax({

     type: 'POST',

     url: url ,

    data: data ,

    success: success ,

    dataType: dataType

});



 

二、$.ajax的参数描述
参数 描述
url     必需。规定把请求发送到哪个 URL。
data     可选。映射或字符串值。规定连同请求发送到服务器的数据。
success(data, textStatus, jqXHR)     可选。请求成功时执行的回调函数。
dataType     

可选。规定预期的服务器响应的数据类型。

默认执行智能判断(xml、json、script 或 html)。
//1.$.ajax带json数据的异步请求
var aj = $.ajax( {  
    url:'productManager_reverseUpdate',// 跳转到 action  
    data:{  
             selRollBack : selRollBack,  
             selOperatorsCode : selOperatorsCode,  
             PROVINCECODE : PROVINCECODE,  
             pass2 : pass2  
    },  
    type:'post',  
    cache:false,  
    dataType:'json',  
    success:function(data) {  
        if(data.msg =="true" ){  
            // view("修改成功!");  
            alert("修改成功!");  
            window.location.reload();  
        }else{  
            view(data.msg);  
        }  
     },  
     error : function() {  
          // view("异常!");  
          alert("异常!");  
     }  
});




//2.$.ajax序列化表格内容为字符串的异步请求
function noTips(){  
    var formParam = $("#form1").serialize();//序列化表格内容为字符串  
    $.ajax({  
        type:'post',      
        url:'Notice_noTipsNotice',  
        data:formParam,  
        cache:false,  
        dataType:'json',  
        success:function(data){  
        }  
    });  
}  




//3.$.ajax拼接url的异步请求
var yz=$.ajax({  
     type:'post',  
     url:'validatePwd2_checkPwd2?password2='+password2,  
     data:{},  
     cache:false,  
     dataType:'json',  
     success:function(data){  
          if( data.msg =="false" ) //服务器返回false,就将validatePassword2的值改为pwd2Error,这是异步,需要考虑返回时间  
          {  
               textPassword2.html("<font color='red'>业务密码不正确!</font>");  
               $("#validatePassword2").val("pwd2Error");  
               checkPassword2 = false;  
               return;  
           }  
      },  
      error:function(){}  
}); 




//4.$.ajax拼接data的异步请求
$.ajax({   
    url:'${basePath }/jobs/Dictionary/post',   
    type:'post',   
    data:'merName='+values,   
    async : false, //默认为true 异步   
    error:function(){   
       alert('error');   
    },   
    success:function(data){ 
    //后台传过来的是list<Map> 或者是list<Object>
       var jsonObj=eval("("+data+")");  
        $.each(jsonObj, function (i, item) {  
            //$("#taskClass").append("<option value='"+item.+"."+item.fieldName+"'>"+item.statuDesc+"</option>");
            alert(item.value + ","  + item.desc);  
        });   
       $("#"+divs).html(data);   
    }
});




后台action

JSON-lib这个Java类包用于把bean,map和XML转换成JSON并能够把JSON转回成bean和DynaBean。

下载地址:http://json-lib.sourceforge.net/
还要需要的第3方包:
org.apache.commons(3.2以上版本)
org.apache.oro
net.sf.ezmorph(ezmorph-1.0.4.jar)
nu.xom
        @RequestMapping(value="post")
public  void post(HttpServletRequest request,HttpServletResponse response){
        List<Map<String,String>> listMap = new ArrayList<Map<String,String>>();
        for (int i = 0; i < 6; i++) {
            Map<String,String> map = new HashMap<String,String>(); 
             map.put("value", "id"+i);
             map.put("desc", i+"");
             listMap.add(map);
        }
        System.out.println(JSONArray.fromObject(listMap).toString());
        StringUtil.write(response, JSONArray.fromObject(listMap).toString()); 

    }

public static void write(HttpServletResponse response,String message){
        try {
            response.setContentType("text/html");
            response.setCharacterEncoding("utf-8");
            response.getWriter().write(message);
            response.getWriter().flush();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值