jquery ajax 请求详解

API见例子

	$.ajax({
			 //请求类型 POST GET
			 type:"POST",
			 //提交的网址
			 url:"login.jsp",
			 //提交的数据
			 data:{username:"admin",password:"123456"},
			 //返回数据的格式,"xml", "html", "script", "json", "jsonp", "text".
			 datatype: "html",
			 //在请求之前调用的函数
			 beforeSend:function(){},
			 //成功返回之后调用的函数             
			 success:function(data){
				alert(decodeURI(data));
			 } ,
			 //调用执行后调用的函数
			 complete: function(XMLHttpRequest, textStatus){
				alert(XMLHttpRequest.responseText);
				alert(textStatus);
			 },
			 //调用出错执行的函数
			 error: function(){
				 //请求出错处理
			 }         
	});

缩写形式

jQuery.post(url,data,success(data, textStatus, jqXHR),dataType)

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

  1.data主要方式有三种,html拼接的,json数组,form表单经serialize()序列化的;通过dataType指定,不指定智能判断。

  2.$.ajax只提交form以文本方式,如果异步提交包含<file>上传是传过不过去,需要使用jquery.form.js的$.ajaxSubmit


实际应用例子

//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);     
    }  
});  


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值