$.ajax()用法实例代码介绍

快乐打工仔 分类:实例代码

jQuery实现了对原生ajax功能的良好封装,使用方便,无需考虑浏览器兼容问题。

如果进行简单的处理可以使用$.post、$.get即可实现,但是如果要精确设置的话最好还是要使用$.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以文本方式,如果异步提交包含<file>上传是传过不过去,需要使用jquery.form.js的$.ajaxSubmit。

$.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){  
    //服务器返回false,就将validatePassword2的值改为pwd2Error,这是异步,需要考虑返回时间  
    if( data.msg =="false" ){  
      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);   
  } 
});

回复

我来回复
  • 暂无回复内容