欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

jQuery Ajax 實例代碼 ($.ajax、$.post、$.get)

 更新時間:2016年04月29日 15:07:05   投稿:jingxian  
下面小編就為大家?guī)硪黄猨Query Ajax 實例代碼 ($.ajax、$.post、$.get)。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考

$.post、$.get是一些簡單的方法,如果要處理復雜的邏輯,還是需要用到jQuery.ajax()

一、$.ajax的一般格式

$.ajax({

   type: 'POST',

   url: url ,

  data: data ,

  success: success ,

  dataType: dataType

});

二、$.ajax的參數(shù)描述

參數(shù) 描述

url 必需。規(guī)定把請求發(fā)送到哪個 URL。
data 可選。映射或字符串值。規(guī)定連同請求發(fā)送到服務器的數(shù)據(jù)。
success(data, textStatus, jqXHR) 可選。請求成功時執(zhí)行的回調函數(shù)。
dataType

可選。規(guī)定預期的服務器響應的數(shù)據(jù)類型。

默認執(zhí)行智能判斷(xml、json、script 或 html)。

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

  1.data主要方式有三種,html拼接的,json數(shù)組,form表單經(jīng)serialize()序列化的;通過dataType指定,不指定智能判斷。

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

四、$.ajax我的實際應用例子

//1.$.ajax帶json數(shù)據(jù)的異步請求
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'>業(yè)務密碼不正確!</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);  
  }
});

url: 要求為String類型的參數(shù),(默認為當前頁地址)發(fā)送請求的地址。

type: 要求為String類型的參數(shù),請求方式(post或get)默認為get。注意其他http請求方法,例如put和

delete也可以使用,但僅部分瀏覽器支持。

timeout: 要求為Number類型的參數(shù),設置請求超時時間(毫秒)。此設置將覆蓋$.ajaxSetup()方法的全局設

置。

async:要求為Boolean類型的參數(shù),默認設置為true,所有請求均為異步請求。

如果需要發(fā)送同步請求,請將此選項設置為false。注意,同步請求將鎖住瀏覽器,用戶其他操作必須等

待請求完成才可以執(zhí)行。

cache:要求為Boolean類型的參數(shù),默認為true(當dataType為script時,默認為false)。

設置為false將不會從瀏覽器緩存中加載請求信息。

data: 要求為Object或String類型的參數(shù),發(fā)送到服務器的數(shù)據(jù)。如果已經(jīng)不是字符串,將自動轉換為字符串格

式。get請求中將附加在url后。防止這種自動轉換,可以查看processData選項。對象必須為key/value格

式,例如{foo1:"bar1",foo2:"bar2"}轉換為&foo1=bar1&foo2=bar2。如果是數(shù)組,JQuery將自動為不同

值對應同一個名稱。例如{foo:["bar1","bar2"]}轉換為&foo=bar1&foo=bar2。

dataType: 要求為String類型的參數(shù),預期服務器返回的數(shù)據(jù)類型。如果不指定,JQuery將自動根據(jù)http包mime

信息返回responseXML或responseText,并作為回調函數(shù)參數(shù)傳遞。

可用的類型如下:

xml:返回XML文檔,可用JQuery處理。

html:返回純文本HTML信息;包含的script標簽會在插入DOM時執(zhí)行。

script:返回純文本JavaScript代碼。不會自動緩存結果。除非設置了cache參數(shù)。注意在遠程請求

時(不在同一個域下),所有post請求都將轉為get請求。

json:返回JSON數(shù)據(jù)。

jsonp:JSONP格式。使用SONP形式調用函數(shù)時,例如myurl?callback=?,JQuery將自動替換后一個

“?”為正確的函數(shù)名,以執(zhí)行回調函數(shù)。

text:返回純文本字符串。

beforeSend:要求為Function類型的參數(shù),發(fā)送請求前可以修改XMLHttpRequest對象的函數(shù),例如添加自定義

HTTP頭。在beforeSend中如果返回false可以取消本次ajax請求。XMLHttpRequest對象是惟一的參

數(shù)。

function(XMLHttpRequest){

this; //調用本次ajax請求時傳遞的options參數(shù)

}

complete:要求為Function類型的參數(shù),請求完成后調用的回調函數(shù)(請求成功或失敗時均調用)。

參數(shù):XMLHttpRequest對象和一個描述成功請求類型的字符串。

function(XMLHttpRequest, textStatus){

this; //調用本次ajax請求時傳遞的options參數(shù)

}

success:要求為Function類型的參數(shù),請求成功后調用的回調函數(shù),有兩個參數(shù)。

(1)由服務器返回,并根據(jù)dataType參數(shù)進行處理后的數(shù)據(jù)。

(2)描述狀態(tài)的字符串。

function(data, textStatus){

//data可能是xmlDoc、jsonObj、html、text等等

this; //調用本次ajax請求時傳遞的options參數(shù)

error:要求為Function類型的參數(shù),請求失敗時被調用的函數(shù)。該函數(shù)有3個參數(shù),即XMLHttpRequest對象、錯

誤信息、捕獲的錯誤對象(可選)。

ajax事件函數(shù)如下:

function(XMLHttpRequest, textStatus, errorThrown){

//通常情況下textStatus和errorThrown只有其中一個包含信息

this; //調用本次ajax請求時傳遞的options參數(shù)

}

contentType:要求為String類型的參數(shù),當發(fā)送信息至服務器時,內容編碼類型默認

為"application/x-www-form-urlencoded"。該默認值適合大多數(shù)應用場合。

dataFilter:要求為Function類型的參數(shù),給Ajax返回的原始數(shù)據(jù)進行預處理的函數(shù)。

提供data和type兩個參數(shù)。data是Ajax返回的原始數(shù)據(jù),type是調用jQuery.ajax時提供的

dataType參數(shù)。函數(shù)返回的值將由jQuery進一步處理。

function(data, type){

//返回處理后的數(shù)據(jù)

return data;

}

global:要求為Boolean類型的參數(shù),默認為true。表示是否觸發(fā)全局ajax事件。設置為false將不會觸發(fā)全局

ajax事件,ajaxStart或ajaxStop可用于控制各種ajax事件。

ifModified:要求為Boolean類型的參數(shù),默認為false。僅在服務器數(shù)據(jù)改變時獲取新數(shù)據(jù)。

服務器數(shù)據(jù)改變判斷的依據(jù)是Last-Modified頭信息。默認值是false,即忽略頭信息。

jsonp:要求為String類型的參數(shù),在一個jsonp請求中重寫回調函數(shù)的名字。

該值用來替代在"callback=?"這種GET或POST請求中URL參數(shù)里的"callback"部分,例如

{jsonp:'onJsonPLoad'}會導致將"onJsonPLoad=?"傳給服務器。

username:要求為String類型的參數(shù),用于響應HTTP訪問認證請求的用戶名。

password:要求為String類型的參數(shù),用于響應HTTP訪問認證請求的密碼。

processData:要求為Boolean類型的參數(shù),默認為true。默認情況下,發(fā)送的數(shù)據(jù)將被轉換為對象(從技術角度

來講并非字符串)以配合默認內容類型"application/x-www-form-urlencoded"。如果要發(fā)送DOM

樹信息或者其他不希望轉換的信息,請設置為false。

scriptCharset:要求為String類型的參數(shù),只有當請求時dataType為"jsonp"或者"script",并且type是GET時

才會用于強制修改字符集(charset)。通常在本地和遠程的內容編碼不同時使用。

案例代碼:

 $(function(){
 
  $('#send').click(function(){
 
  $.ajax({
 
  type: "GET",
 
  url: "test.json",
 
  data: {username:$("#username").val(), content:$("#content").val()},
 
  dataType: "json",
 
      success: function(data){
 
      $('#resText').empty(); //清空resText里面的所有內容
 
      var html = '';
 
      $.each(data, function(commentIndex, comment){
 
       html += '' + comment['username']+ ':+ '';
      });
 
       $('#resText').html(html);
 
       }
 
  });
 
       });
 
  });

順便說一下$.each()函數(shù):

$.each()函數(shù)不同于JQuery對象的each()方法,它是一個全局函數(shù),不操作JQuery對象,而是以一個數(shù)組或者對象作為第1個參數(shù),以一個回調函數(shù)作為第2個參數(shù)?;卣{函數(shù)擁有兩個參數(shù):第1個為對象的成員或數(shù)組的索引,第2個為對應變量或內容。

以上這篇jQuery Ajax 實例代碼 ($.ajax、$.post、$.get)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論