Kaedah ajax() memuatkan data jauh melalui permintaan HTTP.
Kaedah ini ialah pelaksanaan AJAX yang mendasari jQuery. Untuk pelaksanaan peringkat tinggi yang ringkas dan mudah digunakan, lihat $.get, $.post, dsb. $.ajax() mengembalikan objek XMLHttpRequest yang diciptanya. Dalam kebanyakan kes, anda tidak perlu memanipulasi fungsi ini secara langsung melainkan anda perlu memanipulasi pilihan yang kurang biasa digunakan untuk lebih fleksibiliti.
Dalam kes paling mudah, $.ajax() boleh digunakan secara langsung tanpa sebarang parameter.
Nota: Semua pilihan boleh ditetapkan secara global melalui fungsi $.ajaxSetup().
Tatabahasa
jQuery.ajax([settings])
Parameter | tetapan | ||
---|---|---|---|
参数 | 描述 | ||
settings |
可选。用于配置 Ajax 请求的键值对集合。 可以通过 $.ajaxSetup() 设置任何选项的默认值。 |
Nilai lalai mana-mana pilihan boleh ditetapkan melalui $.ajaxSetup(). <🎜>
jQuery.get()
使用一个HTTP GET 请求从服务器加载数据。
jQuery.get(url [,data] [,success(data,textStatus,jqXHR)] [dtaType])
url 一个包含发送请求的URL
data 发送给服务器的字符串后键值对
success() 当请求成功时回调的函数
dataType 从服务器返回的预期数据。
用法:
$.get("test.cgi", { name: "John", time: "2pm" }, function(data){ alert("Data Loaded: " + data); });
jQuery.getJSON()
使用一个HTTP GET 请求服务器加载JSON 编码的数据。
jQuery.getJSON(url [,data] [,success(data,textStatus,jqXHR)])
url 一个包含发送请求的URL
data 发送给服务器的字符串后键值对
success() 当请求成功时回调的函数
jQuery.getScript()
使用一个HTTP GET请求从服务器加载并执行一个JavaScript文件。
jQuery.getScript(url[success(script,textStatus,jqXHR)])
url 一个包含发送请求的URL
data 发送给服务器的字符串后键值对
用法:
$.getScript("ajax/test.js", function(data, textStatus, jqxhr) { console.log(data); //data returned console.log(textStatus); //success console.log(jqxhr.status); //200 console.log('Load was performed.'); });
jQuery.post([settings])
使用一个HTTP POST请求从服务器加载数据。
jQuery.post(url[,data][,success(data,textStatus,jqXHR)][,dataType])
url 一个包含发送请求的URL
data 发送给服务器的字符串后键值对
success() 当请求成功时回调的函数
用法:
$.post("test.php", { name: "John", time: "2pm" }, function(data) { alert("Data Loaded: " + data); });
.load()
从服务器载入数据并且将返回的HTML代码并插入至匹配的元素中。
.load(url[,data][,complete(responseText,textStatus,XMLHttpRequest)])
url 一个包含发送请求的URL
data 发送给服务器的字符串后键值对
complete 当请求成功时回调的函数
用法:
$('#result').load('ajax/test.html #container');
jQuery.ajax()
执行一个异步的HTTP(ajax)的请求。
参数:
url 类型: Sting 发送请求的地址(默认当前页面)
type 类型:Sting (默认为GET) 请求方式(”POST“或”GET“)
timeout 类型:Number 设置请求超时时间(毫秒),此设置默认覆盖全局。
async 类型:Boolean 默认设置(true)默认设置下所有请求均为一步请求,如果需要同步请求,设置为false。
beforeSend 类型:function 发送请求前可修改 XMLHttpRequest 对象的函数,如添加自定义 HTTP 头。XMLHttpRequest 对象是唯一的参数。
cache 类型:Boolean 默认为(true) 设置为false 将不会从浏览器缓存中加载请求信息。
complete 类型:Function 请求完成后回调函数,(请求成功或失败时均调用)参数: XMLHttpRequest 对象,成功信息字符串。function ( XMLHttpRequest, textStatus) {this; // the options for this ajax request}
contentType 类型为:String 发送信息至服务器时内容编码类型,默认值适合大多数应用场合。
data 类型:Object String 发送到服务器的数据。将自动转换为请求字符串格式,GET请求附加在URL后
dataType 类型:String 预期服务器返回的数据类型, ”xml“返回XML文档。”html“返回纯文本信息,包含script 元素。”script“返回纯文本JavaScript 代码,不会自动缓存 结果。”json“返回JSON 数组。”jsonp“JSONP格式。
error 类型:function 请求失败时将调用此方法。
global 类型:Boolean 是否触发全局AJAX事件。默认为(true) 设置为false 将不会触发全局ajax 事件,可用于控制不同的AJAX事件。
ifModified 类型:Boolean 默认为false 仅在服务器数据改变时获取新数据。
processData 类型:Boolean 默认为(true)默认情况下,发送的数据发送的数据将被转换为对象(技术上讲并非字符串) 以配合默认内容类型 "application/x-www-form- urlencoded"。如果要发送 DOM 树信息或其它不希望转换的信息,请设置为 false。
success 类型:Function 请求成功后回调函数。这个方法有两个参数:服务器返回数据,返回状态。
$(document).ready(function() { jQuery("#clearCac").click(function() { jQuery.ajax({ url: "/Handle/Do.aspx", type: "post", data: { id: '0' }, dataType: "json", success: function(msg) { alert(msg); }, error: function(XMLHttpRequest, textStatus, errorThrown) { alert(XMLHttpRequest.status); alert(XMLHttpRequest.readyState); alert(textStatus); }, complete: function(XMLHttpRequest, textStatus) { this; // 调用本次AJAX请求时传递的options参数 } }); }); });
Parameter pertama XMLHttpRequest yang dikembalikan oleh peristiwa ralat mempunyai beberapa maklumat berguna:
XMLHttpRequest.readyState:
Kod status
0 - (Tidak dimulakan) Kaedah hantar() belum dipanggil lagi
1 - (Memuatkan) Kaedah hantar() telah dipanggil dan permintaan sedang dihantar
2 - (Pemuatan selesai) Kaedah hantar() telah dilaksanakan dan semua kandungan respons telah diterima
3 - (Interaktif) Menghuraikan kandungan respons
4 - (Lengkap) Penghuraian kandungan respons selesai dan boleh dipanggil pada klien
status XMLHttpRequest.:
Gesaan 1xx-Maklumat
Kod status ini menunjukkan respons sementara. Pelanggan harus bersedia untuk menerima satu atau lebih 1xx respons sebelum menerima respons tetap.
100-sambung.
101-Tukar protokol.
2xx-Kejayaan
Kod status jenis ini menunjukkan bahawa pelayan berjaya menerima permintaan klien.
200-OK. Permintaan pelanggan berjaya.
201-Dicipta.
202-Diterima.
203-Maklumat tidak berwibawa.
204-Tiada kandungan.
205-Tetapkan semula kandungan.
206-Sebahagian daripada kandungan.
3xx-Ubah hala
Penyemak imbas pelanggan mesti mengambil tindakan tambahan untuk memenuhi permintaan. Sebagai contoh, penyemak imbas mungkin perlu meminta halaman lain pada pelayan, atau mengulangi permintaan melalui pelayan proksi.
301 - Objek telah dialihkan secara kekal, iaitu diubah hala secara kekal.
302 - Objek telah dialihkan buat sementara waktu.
304-Tidak diubah suai.
307 - Ubah hala sementara.
4xx-Ralat Pelanggan
Ralat berlaku dan nampaknya ada masalah dengan klien. Contohnya, klien meminta halaman yang tidak wujud, dan klien tidak memberikan maklumat pengesahan yang sah. 400 - Permintaan buruk.
401 - Akses Ditolak. IIS mentakrifkan banyak ralat 401 yang berbeza, yang menunjukkan punca ralat yang lebih spesifik. Kod ralat khusus ini muncul dalam penyemak imbas, tetapi tidak dalam log IIS:
401.1 - Log masuk gagal.
401.2 - Konfigurasi pelayan menyebabkan kegagalan log masuk.
401.3 - Tidak dibenarkan kerana sekatan ACL pada sumber.
401.4 - Kebenaran penapis gagal.
Kebenaran aplikasi 401.5-ISAPI/CGI gagal.
401.7 – Akses dinafikan oleh dasar kebenaran URL pada pelayan web. Kod ralat ini khusus untuk IIS6.0.
403 - Dilarang: IIS mentakrifkan beberapa ralat 403 yang berbeza, yang menunjukkan punca ralat yang lebih khusus:
403.1 - Akses pelaksanaan dilarang.
403.2 - Akses baca dilarang.
403.3 - Akses tulis dilarang.
403.4 - SSL diperlukan.
403.5 - SSL128 diperlukan.
403.6 - Alamat IP ditolak.
403.7 - Sijil pelanggan diperlukan.
403.8 - Akses tapak ditolak.
403.9-Terlalu ramai pengguna.
403.10 - Konfigurasi tidak sah.
403.11-Perubahan kata laluan.
403.12 - Akses kepada jadual pemetaan ditolak.
403.13 - Sijil pelanggan dibatalkan.
403.14 - Penyenaraian direktori dinafikan.
403.15 - Kebenaran akses pelanggan melebihi.
403.16 - Sijil pelanggan tidak dipercayai atau tidak sah.
403.17 - Sijil pelanggan telah tamat tempoh atau belum sah.
403.18 - URL yang diminta tidak boleh dilaksanakan dalam kumpulan aplikasi semasa. Kod ralat ini khusus untuk IIS6.0.
403.19 - CGI tidak boleh dilaksanakan untuk pelanggan dalam kumpulan aplikasi ini. Kod ralat ini khusus untuk IIS6.0.
403.20-Log masuk pasport gagal. Kod ralat ini khusus untuk IIS6.0.
404-Tidak Ditemui.
404.0-(Tiada) – Fail atau direktori tidak ditemui.
404.1 - Laman web tidak boleh diakses pada port yang diminta.
404.2 - Permintaan ini disekat oleh dasar penguncian sambungan Perkhidmatan Web.
Dasar pemetaan 404.3-MIME menyekat permintaan ini.
405-Kata kerja HTTP yang digunakan untuk mengakses halaman ini tidak dibenarkan (kaedah tidak dibenarkan)
406 - Pelayar klien tidak menerima jenis MIME halaman yang diminta.
407 - Pengesahan proksi diperlukan.
412 - Prasyarat gagal.
413 – Entiti permintaan terlalu besar.
414 - Minta URI terlalu lama.
415 – Jenis media yang tidak disokong.
416 – Julat yang diminta tidak boleh dipenuhi.
417 – Pelaksanaan gagal.
423 – Ralat terkunci.
5xx-Ralat Pelayan
Pelayan tidak dapat menyelesaikan permintaan kerana ia mengalami ralat.
500 - Ralat pelayan dalaman.
500.12 - Aplikasi sedang sibuk memulakan semula pada pelayan web.
500.13 - Pelayan web terlalu sibuk.
500.15 - Permintaan terus ke Global.asa tidak dibenarkan.
500.16 – Bukti kelayakan UNC yang salah. Kod ralat ini khusus untuk IIS6.0.
500.18 – Kedai kebenaran URL tidak boleh dibuka. Kod ralat ini khusus untuk IIS6.0.
500.100 - Ralat ASP dalaman.
501 - Nilai pengepala menentukan konfigurasi yang tidak dilaksanakan.
502 - Pelayan web menerima respons tidak sah semasa bertindak sebagai gerbang atau pelayan proksi.
Permohonan 502.1-CGI tamat masa.
Ralat aplikasi 502.2-CGI. permohonan.
503-Perkhidmatan tidak tersedia. Kod ralat ini khusus untuk IIS6.0.
504-Gateway tamat masa.
505 - Versi HTTP tidak disokong.
jQuery.param()
Mencipta tatasusunan, objek biasa atau perwakilan bersiri objek jQuery untuk digunakan dengan rentetan pertanyaan URL atau permintaan Ajax.
jQuery.param(obj)
obj Tatasusunan untuk bersiri, objek biasa atau objek jQuery.
jQuery.param( obj, tradisional )
obj Tatasusunan untuk bersiri, objek biasa atau objek jQuery.
tradisional
Nilai Boolean yang menunjukkan sama ada siri "cetek" tradisional dilakukan.
$.param({ a: [2,3,4] }) // "a[]=2&a[]=3&a[]=4"
$.param({ a: { b:1,c:2 }, d: [3,4,{ e:5 }] }) // "a[b]=1&a[c]=2&d[]=3&d []=4&h[2][e]=5"