Fungsi ajax merujuk kepada fungsi jQuery.ajax(), yang digunakan untuk memuatkan data jauh melalui permintaan HTTP latar belakang Ia adalah pelaksanaan teknologi AJAX yang dirangkumkan oleh jQuery, kita boleh mendapatkan data jauh tanpa memuat semula halaman semasa pada pelayan.
Persekitaran pengendalian artikel ini: sistem Windows 7, versi jquery 3.2.1, komputer Dell G3.
Apakah fungsi ajax?
jQuery.ajax() fungsi penerangan terperinci
jQuery.ajax()
fungsi digunakan untuk memuatkan data jauh melalui permintaan HTTP latar belakang. Fungsi
jQuery.ajax()
ialah pelaksanaan teknologi AJAX yang dikapsulkan oleh jQuery Melalui fungsi ini, kita boleh mendapatkan data pada pelayan jauh tanpa menyegarkan halaman semasa. Fungsi
jQuery.ajax()
ialah pelaksanaan AJAX yang mendasari jQuery. jQuery.get(), jQuery.post(), load(), jQuery.getJSON(), jQuery.getScript() dan fungsi lain adalah semua bentuk dipermudahkan bagi fungsi ini (mereka semua memanggil fungsi ini, tetapi tetapan parameter adalah berbeza atau telah ditinggalkan).
Fungsi ini tergolong dalam objek jQuery
global (juga boleh difahami sebagai fungsi statik).
Sila cari parameter yang sepadan mengikut nama parameter yang ditakrifkan dalam bahagian sintaks sebelumnya.
Parameter | Penerangan | ||||||
---|---|---|---|---|---|---|---|
url | Rentetan permintaan URL jenis rentetan.
|
||||||
tetapan | Pilihan/Jenis objek Objek Objek, setiap atributnya digunakan untuk menentukan Set parameter tambahan yang diperlukan untuk menghantar permintaan. |
Parameter settings
ialah objek, jQuery.ajax()
boleh mengecam sifat objek berikut (semuanya pilihan):
Nilai lalai: bergantung pada atribut dataType
. Pengepala permintaan jenis kandungan yang dihantar oleh
digunakan untuk memberitahu pelayan jenis respons yang boleh diterima oleh penyemak imbas daripada pelayan.
Nilai lalai: true
.
Menunjukkan sama ada ia permintaan tak segerak. Permintaan segerak mengunci penyemak imbas sehingga data jauh diperoleh dan tiada operasi lain boleh dilakukan.
Nyatakan perkara yang perlu dilaksanakan sebelum permintaan dihantar fungsi panggil balik. Fungsi ini juga mempunyai dua parameter: satu ialah objek jqXHR
dan satu lagi ialah objek settings
semasa. Ini ialah acara Ajax Jika fungsi mengembalikan false
, permintaan ajax ini akan dibatalkan.
Nilai lalai: true
(Apabila dataType
ialah 'skrip' atau 'jsonp', lalainya ialah false
).
Menunjukkan sama ada untuk cache permintaan URL. Jika ditetapkan kepada false
ia akan memaksa penyemak imbas untuk bukan cache permintaan URL semasa. Parameter ini hanya sah untuk permintaan HEAD dan GET (permintaan POST sendiri tidak akan dicache).
Permintaan yang ditentukanLengkap Fungsi panggil balik yang perlu dilaksanakan selepas (tanpa mengira kejayaan atau kegagalan). Fungsi ini juga mempunyai dua parameter: satu ialah objek jqXHR
dan satu lagi ialah rentetan yang mewakili status permintaan ('berjaya', 'tidak diubahsuai', 'ralat', 'tamat masa', 'batalkan' atau 'parsererror') . Ini ialah acara Ajax.
Bermula dari jQuery 1.5, nilai atribut ini boleh menjadi berbilang fungsi dalam bentuk array, dan setiap fungsi akan dilaksanakan dengan panggilan balik.
Objek yang dipasangkan dengan "{string:regex}" yang menentukan cara jQuery akan menghuraikan respons, berdasarkan jenis kandungannya.
Nilai lalai: 'application/x- www-form-urlencoded; charset=UTF-8'.
Menghantar data ke pelayan menggunakan jenis pengekodan kandungan yang ditentukan. Spesifikasi XMLHttpRequest W3C menetapkan bahawa set aksara sentiasa UTF-8 Jika anda menukarnya kepada set aksara lain, anda tidak boleh memaksa penyemak imbas menukar pengekodan aksara.
digunakan untuk menetapkan fungsi panggil balik berkaitan Ajax Objek konteks (iaitu, penunjuk this
dalam fungsi).
Nilai lalai: {'* text': window.String, 'text html': true, 'text json': jQuery.parseJSON, 'text <span id="9_nwp">xml': jQuery.parseXML} <code>{'* text': window.String, 'text html': true, 'text json': jQuery.parseJSON, 'text <span id="9_nwp">xml': jQuery.parseXML}</span>
.
Penukar jenis data. Nilai setiap penukar ialah fungsi yang mengembalikan nilai tindak balas yang ditukar.
Nilai lalai: false
untuk permintaan domain yang sama dan true
untuk permintaan merentas domain.
Menunjukkan sama ada ia adalah permintaan merentas domain. Tetapkan kepada benar jika anda ingin memaksa permintaan merentas domain dalam domain yang sama (seperti dalam borang JSONP). Ini membenarkan ubah hala sisi pelayan ke domain lain, contohnya.
dihantar ke pelayan akan dimajukan secara automatik ialah daripada jenis rentetan. Jika ia adalah permintaan GET, ia akan dilampirkan pada URL.
Menentukan panggil balik yang mengendalikan data mentah daripada fungsi tindak balas. Fungsi ini juga mempunyai dua parameter: satu ialah rentetan yang mewakili data asal respons dan satu lagi ialah rentetan atribut <span id="8_nwp">dataType<code><span id="8_nwp">dataType</span>
.
Nilai lalai: tekaan pintar jQuery, teka Julat (xml, json, skrip atau html)
menentukan jenis data yang dikembalikan. Nilai atribut boleh:
cache
ditetapkan. Nota: Apabila membuat permintaan jauh (bukan di bawah domain yang sama), semua permintaan POST akan ditukar kepada permintaan GET. (Kerana teg skrip DOM akan digunakan untuk memuatkan)
null
atau {}
.
Tentukan fungsi panggil balik untuk dilaksanakan apabila permintaan gagal . Fungsi ini mempunyai 3 parameter: objek jqXHR, rentetan status permintaan (null, 'tamat masa', 'ralat', 'batalkan' dan 'parsererror'), rentetan mesej ralat (bahagian keterangan teks daripada status respons, seperti 'Tidak Ditemui' ' atau 'Ralat Pelayan Dalaman'). Ini ialah acara Ajax. Skrip merentas domain dan permintaan JSONP merentas domain tidak akan memanggil fungsi ini.
Bermula dari jQuery 1.5, nilai atribut ini boleh menjadi berbilang fungsi dalam bentuk tatasusunan , setiap fungsi akan dilaksanakan dengan panggilan balik.
Nilai lalai: true
.
Menunjukkan sama ada untuk mencetuskan acara Ajax global. Menetapkan nilai ini kepada false
akan menghalang pengendali acara global seperti ajaxStart() dan ajaxStop() daripada dicetuskan. Ia boleh digunakan untuk mengawal pelbagai acara Ajax.
Lalai: {}
.
Menentukan maklumat pengepala permintaan tambahan dalam bentuk objek. Pengepala permintaan X-Requested-With: XMLHttpRequest
akan sentiasa ditambah, tetapi anda juga boleh mengubah suai nilai XMLHttpRequest lalai di sini. Nilai dalam headers
boleh mengatasi set pengepala permintaan dalam fungsi panggil balik beforeSend
(bermaksud sebelumHantar dipanggil dahulu).
$.ajax({ url: "my.php" , headers: { "Referer": "http://www.365mini.com" // 有些浏览器不允许修改该请求头 ,"User-Agent": "newLine" // 有些浏览器不允许修改该请求头 ,"X-Power": "newLine" ,"Accept-Language": "en-US" } });
Nilai lalai: false
.
Membenarkan permintaan semasa untuk mendapatkan data baharu hanya apabila data pelayan berubah (jika tidak berubah, penyemak imbas mendapat data daripada cache). Ia menggunakan maklumat pengepala HTTP Last-Modified
untuk menentukan. Bermula dengan jQuery 1.4, ia juga menyemak 'etag' yang ditentukan pelayan untuk menentukan sama ada data telah diubah suai.
Lalai: Bergantung pada protokol lokasi semasa.
允许将当前环境视作"本地",(例如文件系统),即使默认情况下jQuery不会如此识别它。目前,以下协议将被视作本地:file
、*-extension
和widget
。
重写JSONP请求的回调函数名称。该值用于替代"url?callback=?"中的"callback"部分。
为JSONP请求指定一个回调函数名。这个值将用来取代jQuery自动生成的随机函数名。
从jQuery 1.5开始,你也可以指定一个函数来返回所需的函数名称。
一个mime类型用来覆盖XHR的mime类型。
用于响应HTTP访问认证请求的密码。
默认值:true
。
默认情况下,通过<span id="4_nwp">data</span>
属性传递进来的数据,如果是一个对象(技术上讲,只要不是字符串),都会处理转化成一个查询字符串,以配合默认内容类型 "application/x-www-form-urlencoded"。如果要发送 DOM树信息或其它不希望转换的信息,请设置为false
。
设置该请求加载的脚本文件的字符集。只有当请求时dataType为"jsonp"或"script",并且type是"GET"才会用于强制修改charset。这相当于设置