Jquery中Ajax使用


關於Ajax

  ajax 的全稱是Asynchronous JavaScript and XML,其中,Asynchronous 是異步的意思,它有別於傳統web開發中采用的同步的方式,同步是指:發送方發出數據后,等接收方發回響應以后才發下一個數據包的通訊方式。而異步是指:發送方發出數據后,不等接收方發回響應,接着發送下個數據包的通訊方式 

  ajax的工作原理就是通過XmlHttpRequest對象來向服務器發出異步請求,從服務器中獲得數據,然后用Javascript來操作DOM從而更新局部頁面。

jquery中的ajax

  自從JavaScript庫誕生之后,對JavaScript的各種方法進行了封裝,包括了ajax,相比於原生ajax而言,在封裝后的Ajax的操作更加簡潔,功能更加強大。

  ajax的基本使用方法為$.ajax(),其中ajax默認是使用了get方法請求,並且默認以異步去請求資源。也可以通過$.get(url, [data], [callback], [type])或者$.post(url, [data], [callback], [type])來改變請求方式。

  其中,也可以通過向方法中傳入對象,進行資源請求。

  1.url

說明:發送請求的地址(默認為當前頁面),要求是String類型的參數,比如是.net下,"~wexin(控制器)/getweinxinmenu(動作)",

  2.type

說明:請求方法(post或者get),默認是get,要求是String類型的參數。其他的htpp請求如(put、delete)等也支持,但是要瀏覽器支持

  3.timeout

說明:設置請求超時時間(毫秒),要求是number類型的參數。此設置將覆蓋$.ajaxSetup()方法的全局設置。

  4.async

說明:默認值為true,所有請求是異步,要求是Bool類型的參數,如果需要發送同步請求,將此項設置為false。注意:同步時瀏覽器會被鎖住。

  5.cache

說明:默認為true(當datatype為script時,默認為false)從瀏覽器緩存中加載請求信息,要求是Bool類型的參數。

  6.data

  說明:發送到服務器的數據,要求是Object或string類型的參數。如果已經不是字符串,將自動轉換為字符串格式。get請求中將附加在url后。防止這種自動轉換,可以查看  processData選項。對象必須為key/value格式,例如{foo1:"bar1",foo2:"bar2"}轉換為&foo1=bar1&foo2=bar2。如果是數組,JQuery將自動為不同值對應同一個名稱。例如{foo:["bar1","bar2"]}轉換為&foo=bar1&foo=bar2。

  7.dataType

說明:預期服務器返回的數據類型,要求為String類型的參數。如果不指定,JQuery將自動根據http包mime信息返回responseXML或responseText,並作為回調函數參數傳遞。可用的類型如下:
xml:返回XML文檔,可用JQuery處理。
html:返回純文本HTML信息;包含的script標簽會在插入DOM時執行。
script:返回純文本JavaScript代碼。不會自動緩存結果。除非設置了cache參數。注意在遠程請求時(不在同一個域下),所有post請求都將轉為get請求。
json:返回JSON數據。
jsonp:JSONP格式。使用SONP形式調用函數時,例如myurl?callback=?,JQuery將自動替換后一個“?”為正確的函數名,以執行回調函數。
text:返回純文本字符串。

  具體代碼

 1 <!DOCTYPE HTML>
 2 <html>
 3 <head>
 4 <script type="text/javascript" src="Public/js/jquery-easyui-1.3.1/jquery-1.8.2.min.js"></script>
 5 <script type="text/javascript">
 6     $(function(){
 7         //按鈕單擊時執行
 8         $("#testAjax").click(function(){
 9               
10               //Ajax調用處理
11             var html = $.ajax({
12                type: "POST",
13                url: "xxx",
14                data: "name=garfield&age=18",
15                async: false
16 
17             }).responseText;
18             $("#myDiv").html('<h2>'+html+'</h2>');
19          });
20     });
21 </script>    
22 </head>
23     <body>
24         <div id="myDiv"><h2>通過 AJAX 改變文本</h2></div>
25         <button id="testAjax" type="button">Ajax改變內容</button>
26     </body>
27 </html>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM