jQuery Ajax操作与实例

为了满足用户的需求,Ajax(Asynchronous Javascript + XML)异步刷新起到了无可比拟的作用,Jquery在异步提交方面封装的很好,直接用AJAX非常麻烦,Jquery大大简化了我们的操作,不用考虑浏览器的诧异了。

1. jQuery.get

参数:

url (String) : 发送请求的URL地址.

data (Map) : (可选) 要发送给服务器的数据,以 Key/value 的键值对形式表示,会做为QueryString附加到请求URL中。

callback (Function) : (可选) 载入成功时回调函数(只有当Response的返回状态是success才是调用该方法)。

这个函数是对get方法的提交数据进行封装,只能使用在get提交数据解决异步刷新的方式上

2.jQuery.post

参数:

url (String) : 发送请求的URL地址.

data (Map) : (可选) 要发送给服务器的数据,以 Key/value 的键值对形式表示。

callback (Function) : (可选) 载入成功时回调函数(只有当Response的返回状态是success才是调用该方法)。

type (String) : (可选)官方的说明是:Type of data to be sent。其实应该为客户端请求的类型(JSON,XML,等等)

这个函数其实就是对 ajax进行了更进一步的封装,减少了参数,简化了操作,但是运用的范围更小了。$.post简化了数据提交方式,只能采用POST方式提交。只能是异步访问服务器,不能同步访问,不能进行错误处理。在满足这些情况下,我们可以使用这个函数来方便我们的编程,它的主要几个参数,像method,async等进行了默认设置,我们不可以改变的。

3.jQuery Ajax

这个是JQuery对ajax封装的最基础步,通过使用这个函数可以完成异步通讯的所有功能。也就是说什么情况下我们都可以通过此方法进行异步刷新的操作。但是它的参数较多,有的时候可能会麻烦一些。看一下常用的参数:
var configObj = {
method //数据的提交方式:get和post
url //数据的提交路劲
async //是否支持异步刷新,默认是true
data //需要提交的数据
dataType //服务器返回数据的类型,例如xml,String,Json等
success //请求成功后的回调函数
error //请求失败后的回调函数
}

.ajax(configObj);// .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("业务密码不正确!");    
               $("#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);     
    }  
});  

$.ajax需要注意的一些地方:

1.data主要方式有三种,html拼接的,json数组,form表单经serialize()序列化的;通过dataType指定,不指定智能判断。
2.$.ajax只提交form以文本方式,如果异步提交包含上传是传过不过去,需要使用jquery.form.js的\$.ajaxSubmit

你可能感兴趣的:(jQuery Ajax操作与实例)