Jquery在非同步提交方面封裝的很好,直接用AJAX非常麻煩,Jquery大大簡化了我們的操作,不用考慮瀏覽器的差異了。
$.post、$.get是一些簡單的方法,如果要處理複雜的邏輯,還是需要用到jQuery.ajax()
一、$.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)。
三、$.ajax需要注意的一些地方:
1.data主要方式有三種,html拼接的,json數組,form表單經serialize()序列化的;透過dataType指定,不指定智能判斷。
2.$.ajax只提交form以文字方式,如果異步提交包含
四、$.ajax我的實際應用範例
//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:'<%=request.getContextPath()%>/kc/kc_checkMerNameUnique.action', type:'post', data:'merName='+values, async : false, //默认为true 异步 error:function(){ alert('error'); }, success:function(data){ $("#"+divs).html(data); } });