簡單介紹:
AJAX = Asynchronous JavaScript and XML(異步的JavaScript 和XML)。
AJAX 是一種在無需重新加載整個網頁的情況下,能夠更新部分網頁的技術。
AJAX 是一種用於創建快速動態網頁的技術。
AJAX 最大的優點是在不重新加載整個頁面的情況下,可以與服務器交換數據並更新部分網頁內容。
AJAX 不需要任何瀏覽器插件,但需要用戶允許JavaScript在瀏覽器上執行。
要使用時,請先學會html
教學:
設定:
呼叫模式 : type :”GET”
呼叫的網址: url : “(目標網址)”
要傳遞的資料:data:{格式=> 參數名稱:內容}
回傳的資料型態:dataType:text or json,xml…
成功時回傳執行:success :function(data){}
失敗時執行:error:function(data){}
等待資料返回時: beforeSend :function(){}
超過等待的時間: timeout :10000
請求完成(不論成功失敗):complete :function(){}
資料抓取模式(預設非同步): async : false or true
範例1
$.ajax({ type :"GET",//呼叫模式 url : "/test/test1.php",//呼叫的網址 data : { //這裡發送要傳遞的資料,格式=> 參數名稱:內容 datafromtestFile : "test", }, dataType: "text",//回傳的資料型態 success : function(happy) { $("#output").html(happy); } })
範例2
$.ajax({ url:url, type:'post', data:{'type':"type", 'moneyCount':moneyCount, 'shoplen':shoplen}, timeout:15000, beforeSend:function(){ $("#wait").html("請稍後"); }, success:function(data){ //請求成功程式碼...... }, complete:function(data){ $("#doing").empty(); }, error:function(data){ //請求失敗程式碼...... } });
小叮嚀
當 async :false時,會等待前一個請求結束才會進行下一個
當 async :true時//預設,會吃server的資源,呼叫100次(0.3S)會比呼叫1(0.03S)次來的稍為慢一點點,這部分還是要看server的效能
如果有做出 “loading讀取中”的效果,使用者會比較願意等待,可以用beforeSend來做,等待圖點此
beforeSend:function(){$('#wait_div').html('<img src="https://media.giphy.com/media/3oEjI6SIIHBdRxXI40/giphy.gif">');}