標籤:檔案 部分 ack log 回呼函數 ajax code callback 非同步請求
Ajax 最關鍵的地方,就是實現非同步請求、接受響應及執行回調。
jQuery 對 Ajax 做了大量的封裝,不需要去考慮瀏覽器安全色性, 對於封裝的方式,jQuery 採用了三層封裝:最底層的封裝方法為:$.ajax(),而通過這層封裝了第二層有三種方法:.load()、$.get()和$.post(),最高層是$.getScript()和$.getJSON()方法。
第一.【.load()方法】
參數的使用step by step(load 有三個(URL +data+callback) + type )
(1)如果想讓 Ajax 非同步載入一段 HTML 內容,我們只需要一個 HTML 請求的 url 即可。
//HTML 展示的頁面(我們可見的部分)<input type="button" value="非同步擷取資料"/> <div id="box"></div>
//jQuery $(‘input‘).click(function(){ $(‘#box‘).load(‘test.html‘); // test.html 是一個url路徑 此時僅僅是載入資料});
//test.html 內容<html><head><body> <div> <span>我是非同步載入資料時需要的內容,我在另一個介面</span> </div></body></head></html>
(2)如果是伺服器檔案。一般不僅需要載入資料(url),還需要向伺服器提交資料,那麼我們就可以使用第二個選擇性參數 data。。向伺服器提交資料有兩種方式:get 和 post。
(2.1)不傳遞 data,則預設 get 方式.
$(‘input‘).click(function(){ $(‘#box‘).load(‘test.php?url=www.ww‘); })
//get方式接受的伺服器端
(2.2)傳遞 data 用來在伺服器端做判斷
$(‘input‘).click(function(){$(‘#box‘).load(‘test.php‘,{ url:‘www.www‘ });});//post 方式接受的 伺服器端
註:test.php 是和伺服器端互動的路徑,可更加自己的要求配置。
(3)Ajax 資料載入完畢之後,就能執行回呼函數 callback,也就是第三個參數。
回呼函數 也可以傳遞三個選擇性參數:
responseText(請求返回)、
textStatus(請求狀態)、
XMLHttpRequest (XMLHttpRequest 對象)。
$(‘input‘).click(function(){ $(‘#box‘).load(‘test.php(和伺服器互動的路徑)‘,{ url:‘www.www‘ },function(response,status,xhr)//回呼函數{ alert(‘返回的值為:‘+response+‘,狀態為:‘+status +‘, 狀態是:‘+xhr.statusText);//用於調試查看,在頁面上列印出來 }); });
總結:::總結:.load()方法有三個參數::url,data,callback
Ajax Step By Step1