- 基本語法為:jQuert.ajax(option) 或 $.ajax(option)
var data = $.ajax({
type: "POST",
url: "/path/to/myphp.php",
data: "var1=var1&var2=var2", //可以是物件或是字串
async: false // 瀏覽器在發送的時候,停止任何其他的呼叫。
}).responseText;
- processData
- success - 呼叫完成時,做 callback 的動作
- beforeSend - 發送前執行某些函數(callback)
- complete - 發送完成後執行某些函數
- error - 執行失敗後執行某些函數
- data
- dataType
- ajax 語法:
false 代表不需要把非 xml 的 data 轉成字串(string)。
success:function(){
alert('檔案已執行');
}
會在 success 或是 error 的 callback 後執行。
可以是一個物件也可以是一個字串。如果是物件就必須是一個 key 與值的對應,如var1=var1&var2=var2。如果值是一個陣列,jQuery會將其對應成多個相同 key 但不同值的物件,如 {some:["var1","var2"]} 會變成 some=var1&some=var2。
| xml | 回應一個 xml 格式的文件並交給 jQuery 來處理 |
| html | 回應一個 html 格式的文件,包含所有 html 標籤 |
| script | 執行指定的 javascript 並將結果以純文字回傳 |
| json | 回應一個 javascript 的物件並內含 JSON 的格式 |
| jsonp | 以 JSONP 的格式回應 |
| text | 以純文字的格式回傳 |
$.ajaxSend(callback):在 ajax 發送前可以做的函數,也是會傳回三個參數。
$.ajaxStart(callback):在 ajax 開始發送但未完成時,會執行的函數。
$.ajaxStop(callback):在 ajax 請求結束時,會執行的函數。
以下是在 ajax 送出執行 scipt 的期間,會有一個 Loading 的圖形。
HTML:
<button id=dd>show</button>
<div id=wait style="display:none"><img src=loading.gif></div>
<div id="message"></div>
JS:
$(document).ready(function(){
$('#dd').click(function(){
$.getScript("pro59-1.js", function(){
$('#message').html(myv);
});
});
$("#wait").ajaxStart(function(){
$(this).show();
});
$("#wait").ajaxStop(function(){
$(this).hide();
});
});
From:《網頁設計,愛上jQuery》ISBN:978-986-6850-844
Please follow and like us: