jQuery Ajax 執行個體詳解 ($.ajax、$.post、$.get)_AJAX相關

來源:互聯網
上載者:User

Jquery在非同步提交方面封裝的很好,直接用AJAX非常麻煩,Jquery大大簡化了我們的操作,不用考慮瀏覽器的詫異了。

推薦一篇不錯的jQuery Ajax 執行個體文章,忘記了可以去看看,

地址為:http://www.jb51.net/article/26903.htm

$.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以文本方式,如果非同步提交包含<file>上傳是傳過不過去,需要使用jquery.form.js的$.ajaxSubmit

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

//.$.ajax帶json資料的非同步請求 var aj = $.ajax( {   url:'productManager_reverseUpdate',// 跳轉到 action   data:{     selRollBack : selRollBack,     selOperatorsCode : selOperatorsCode,     PROVINCECODE : PROVINCECODE,     pass : pass   },   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("異常!");   }  }); //.$.ajax序列化表格內容為字串的非同步請求 function noTips(){   var formParam = $("#form").serialize();//序列化表格內容為字串   $.ajax({    type:'post',     url:'Notice_noTipsNotice',    data:formParam,    cache:false,    dataType:'json',    success:function(data){    }   });  }  //.$.ajax拼接url的非同步請求 var yz=$.ajax({   type:'post',   url:'validatePwd_checkPwd?password='+password,   data:{},   cache:false,   dataType:'json',   success:function(data){    if( data.msg =="false" ) //伺服器返回false,就將validatePassword的值改為pwdError,這是非同步,需要考慮返回時間    {     textPassword.html("<font color='red'>業務密碼不正確!</font>");     $("#validatePassword").val("pwdError");     checkPassword = false;     return;    }   },   error:function(){}  });  //.$.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()提供了一大票參數,所以說可以實現非常複雜的功能。

參數名 類型 描述
url String (預設: 當前頁地址) 發送請求的地址。
type String (預設: “GET”) 請求方式 (“POST” 或 “GET”), 預設為 “GET”。
注意:其它 HTTP 要求方法,如 PUT 和 DELETE 也可以使用,但僅部分瀏覽器支援。
timeout Number 佈建要求逾時時間(毫秒)。此設定將覆蓋全域設定。
async Boolean (預設: true) 預設設定下,所有請求均為非同步請求。
如果需要發送同步請求,請將此選項設定為 false。
注意,同步請求將鎖住瀏覽器,使用者其它操作必須等待請求完成才可以執行。
beforeSend Function 發送請求前可修改 XMLHttpRequest 對象的函數,如添加自訂 HTTP 頭。

XMLHttpRequest 對象是唯一的參數。

[javascript] view plaincopy
  1. function (XMLHttpRequest) {  
  2. this; // the options for this ajax request  
  3. }  


cache Boolean (預設: true) jQuery 1.2 新功能,設定為 false 將不會從瀏覽器緩衝中載入請求資訊。
complete Function 請求完成後回呼函數 (請求成功或失敗時均調用)。

參數: XMLHttpRequest 對象,成功資訊字串。

[javascript] view plaincopy
  1. function (XMLHttpRequest, textStatus) {  
  2. this; // the options for this ajax request  
  3. }  


contentType String (預設: “application/x-www-form-urlencoded”) 發送資訊至伺服器時內容編碼類別型。預設值適合大多數應用場合。
data Object,
String
發送到伺服器的資料。將自動轉換為請求字串格式。GET 請求中將附加在 URL 後。
查看 processData 選項說明以禁止此自動轉換。必須為 Key/Value 格式。
如果為數組,jQuery 將自動為不同值對應同一個名稱。
如 {foo:["bar1", "bar2"]} 轉換為 ‘&foo=bar1&foo=bar2′。
dataType String 預期伺服器返回的資料類型。如果不指定,jQuery 將自動根據 HTTP 包 MIME 資訊
返回 responseXML 或 responseText,並作為回呼函數參數傳遞,可用值:

“xml”: 返回 XML 文檔,可用 jQuery 處理。

“html”: 返回純文字 HTML 資訊;包含 script 元素。

“script”: 返回純文字 JavaScript 代碼。不會自動緩衝結果。

“json”: 返回 JSON 資料 。

“jsonp”: JSONP 格式。使用 JSONP 形式調用函數時,

如 “myurl?callback=?” jQuery 將自動替換 ? 為正確的函數名,以執行回呼函數。

error Function (預設: 自動判斷 (xml 或 html)) 請求失敗時將調用此方法。

這個方法有三個參數:XMLHttpRequest 對象,錯誤資訊,(可能)捕獲的錯誤對象。

[javascript] view plaincopy
  1. function (XMLHttpRequest, textStatus, errorThrown) {  
  2. // 通常情況下textStatus和errorThown只有其中一個有值  
  3. this; // the options for this ajax request  
  4. }  


global Boolean (預設: true) 是否觸發全域 AJAX 事件。設定為 false 將不會觸發全域 AJAX 事件,

如 ajaxStart 或 ajaxStop 。可用於控制不同的Ajax事件

ifModified Boolean (預設: false) 僅在伺服器資料改變時擷取新資料。

使用 HTTP 包 Last-Modified 頭資訊判斷。

processData Boolean (預設: true) 預設情況下,發送的資料將被轉換為對象(技術上講並非字串)

以配合預設內容類型 “application/x-www-form-urlencoded”。

如果要發送 DOM 樹資訊或其它不希望轉換的資訊,請設定為 false。

success Function

請求成功後回呼函數。這個方法有兩個參數:伺服器返回資料,返回狀態

[javascript] view plaincopy
  1. function (data, textStatus) {  
  2. // data could be xmlDoc, jsonObj, html, text, etc...  
  3. this;  
  4.  // the options for this ajax request  
  5. }  


以上所述就是本文給大家介紹的關於jQuery Ajax 執行個體詳解 ($.ajax、$.post、$.get)的相關資料,希望對大家學習jquery ajax執行個體有所協助。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.