jQuery ajax() fungsi ialah tahap abstraksi paling rendah
Fungsi ajax()
jQuery ialah tahap abstraksi terendah yang tersedia untuk XMLHttpRequest (aka AJAX). Semua fungsi AJAX jQuery lain (seperti load()
) menggunakan fungsi ajax()
. Menggunakan fungsi ajax()
menyediakan fungsi yang paling berkuasa untuk XMLHttpRequests
. jQuery juga menyediakan abstraksi peringkat tinggi lain untuk melaksanakan jenis XMLHttpRequests
yang sangat khusus. Fungsi ini pada asasnya adalah pintasan kepada kaedah ajax()
. ajax()
函數(shù)是可用于 XMLHttpRequest(又名 AJAX)的最低抽象級(jí)別。所有其他 jQuery AJAX 函數(shù)(例如 load()
)都利用 ajax()
函數(shù)。使用 ajax()
函數(shù)為 XMLHttpRequests
提供了最強(qiáng)大的功能。 jQuery 還提供了其他更高級(jí)別的抽象來(lái)執(zhí)行非常特定類(lèi)型的 XMLHttpRequests
。這些函數(shù)本質(zhì)上是 ajax()
方法的快捷方式。
這些快捷方法是:
加載()
<code>get()
<code>getJSON()
<code>getScript()
<code>post()
需要注意的是,雖然快捷方式有時(shí)很好,但它們都在幕后使用 ajax()
。而且,當(dāng)您需要 jQuery 在 AJAX 方面提供的所有功能和自定義功能時(shí),您應(yīng)該使用 ajax()
方法。
注意:默認(rèn)情況下,ajax()
和 load()
AJAX 函數(shù)均使用 GET
HTTP 協(xié)議。
jQuery 支持跨域 JSONP
帶有填充的 JSON (JSONP) 是一種技術(shù),允許 HTTP 請(qǐng)求(返回 JSON)的發(fā)送者為使用 JSON 對(duì)象作為函數(shù)參數(shù)進(jìn)行調(diào)用的函數(shù)提供名稱(chēng)。該技術(shù)不使用 XHR。它使用腳本元素,因此可以將數(shù)據(jù)從任何站點(diǎn)拉入任何站點(diǎn)。目的是為了規(guī)避XMLHttpRequest的同源策略限制。
使用 <code>getJSON() jQuery 函數(shù),當(dāng) URL 中添加 JSONP 回調(diào)函數(shù)時(shí),您可以從另一個(gè)域加載 JSON 數(shù)據(jù)。作為示例,以下是使用 Flickr API 的 URL 請(qǐng)求的樣子。
<span class="sgc-100">http://api.flickr.com/services/feeds/photos_public.gne?tags=resig&tagmode=all&format=json&jsoncallback</span>
=?
?
值用作快捷方式,告訴 jQuery 調(diào)用作為 <code>getJSON() 函數(shù)的參數(shù)傳遞的函數(shù)。如果您不想使用此快捷方式,可以將 ?
替換為另一個(gè)函數(shù)的名稱(chēng)。
下面,我使用 Flickr JSONP API 拉入一個(gè)網(wǎng)頁(yè),其中包含帶有“resig”標(biāo)簽的最新照片。請(qǐng)注意,我使用的是 ?
快捷方式,因此 jQuery 將簡(jiǎn)單地調(diào)用我提供的 <code>getJSON() 函數(shù)的回調(diào)函數(shù)。傳遞給回調(diào)函數(shù)的參數(shù)是請(qǐng)求的JSON數(shù)據(jù)。
<!DOCTYPE html> <html lang="en"> <body> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <script> (function($){ $.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=resig&tagmode=all&format=json&jsoncallback=?", // Using ? just means call the callback function provided function (data) { // Data is the JSON object from Flickr $.each(data.items, function (i, item) { $('<img />').attr("src", item.media.m).appendTo('body'); if (i == 30) return false; }); }); })(jQuery); </script> </body> </html>
注意:請(qǐng)確保檢查您所使用的服務(wù)的 API 以便正確使用回調(diào)。例如,F(xiàn)lickr 使用名稱(chēng) jsoncallback=?
,而 Yahoo!和 Digg 使用名稱(chēng) callback=?
。
停止瀏覽器緩存 XHR 請(qǐng)求
執(zhí)行 XHR 請(qǐng)求時(shí),Internet Explorer 將緩存響應(yīng)。如果響應(yīng)包含具有較長(zhǎng)保質(zhì)期的靜態(tài)內(nèi)容,則緩存可能是一件好事。但是,如果請(qǐng)求的內(nèi)容是動(dòng)態(tài)的并且可能隨時(shí)發(fā)生變化,您將需要確保瀏覽器不會(huì)緩存該請(qǐng)求。一種可能的解決方案是將唯一的查詢(xún)字符串值附加到 URL 的末尾。這將確保瀏覽器對(duì)于每個(gè)請(qǐng)求請(qǐng)求唯一的 URL。
// Add unique query string at end of the URL url: 'some?nocache='+(newDate()).getTime()
另一個(gè)解決方案(更多的是全局解決方案)是默認(rèn)設(shè)置所有 AJAX 請(qǐng)求以包含我們剛才討論的無(wú)緩存邏輯。為此,請(qǐng)使用 ajaxSetup
函數(shù)全局關(guān)閉緩存。
$.ajaxSetup({ cache: false // True by default. False means caching is off. });
現(xiàn)在,為了用單獨(dú)的 XHR 請(qǐng)求覆蓋此全局設(shè)置,您只需在使用 ajax()
函數(shù)時(shí)更改緩存選項(xiàng)即可。下面是使用 ajax()
Muat()
<code>get()
<code>getJSON()
<code>getScript()
<code>post()
ajax()
di belakang tabir. Dan, apabila anda memerlukan semua ciri dan penyesuaian yang ditawarkan oleh jQuery dari segi AJAX, anda harus menggunakan kaedah ajax()
. #????#
#????#Nota: Secara lalai, kedua-dua fungsi AJAX ajax()
dan load()
menggunakan GET
protokol HTTP. #????#
#????#jQuery menyokong JSONP merentas domain#????# #????#JSON with padding (JSONP) ialah teknologi yang membenarkan penghantar permintaan HTTP (yang mengembalikan JSON) untuk memberikan nama untuk fungsi yang dipanggil dengan objek JSON sebagai parameter fungsi. Teknologi ini tidak menggunakan XHR. Ia menggunakan elemen skrip supaya data boleh ditarik dari mana-mana tapak ke mana-mana tapak. Tujuannya adalah untuk memintas sekatan dasar asal yang sama XMLHttpRequest. #????# #????#Menggunakan fungsi jQuery <code>getJSON(), anda boleh memuatkan data JSON daripada domain lain apabila menambahkan fungsi panggil balik JSONP pada URL. Sebagai contoh, berikut ialah rupa permintaan URL menggunakan API Flickr. #????# #????#
<span class="sgc-100">http://api.flickr.com/services/feeds/photos_public.gne?tags=resig&tagmode=all&format=json&jsoncallback</span>
=?
< /p>
#????#Nilai ?
digunakan sebagai pintasan untuk memberitahu jQuery supaya memanggil fungsi yang diluluskan sebagai argumen kepada fungsi <code>getJSON(). Jika anda tidak mahu menggunakan pintasan ini, anda boleh menggantikan ?
dengan nama fungsi lain. #????#
#????# Di bawah, saya menggunakan API JSONP Flickr untuk memasukkan halaman web yang mengandungi foto terbaharu yang ditandakan dengan "resign". Ambil perhatian bahawa saya menggunakan pintasan ?
, jadi jQuery hanya akan memanggil fungsi panggil balik fungsi <code>getJSON() yang saya sediakan. Parameter yang dihantar kepada fungsi panggil balik ialah data JSON yang diminta. #????#
$.ajaxSetup ({ cache: false // True by default. False means caching is off. }); jQuery.ajax({ cache: true, url: 'some', type: 'POST' } );#????#Nota: Sila pastikan anda menyemak API perkhidmatan yang anda gunakan untuk menggunakan panggilan balik dengan betul. Contohnya, Flickr menggunakan nama
jsoncallback=?
, manakala Yahoo! dan Digg menggunakan nama callback=?
. #????#
#????#Hentikan pelayar menyimpan cache permintaan XHR#????# #????#Apabila melaksanakan permintaan XHR, Internet Explorer akan cache respons. Caching boleh menjadi perkara yang baik jika respons mengandungi kandungan statik dengan jangka hayat yang panjang. Walau bagaimanapun, jika kandungan permintaan adalah dinamik dan mungkin berubah pada bila-bila masa, anda perlu memastikan bahawa penyemak imbas tidak menyimpan cache permintaan tersebut. Satu penyelesaian yang mungkin adalah untuk menambahkan nilai rentetan pertanyaan yang unik pada penghujung URL. Ini akan memastikan bahawa penyemak imbas meminta URL unik untuk setiap permintaan. #????# rrreee #????#Penyelesaian lain (lebih daripada penyelesaian global) ialah menetapkan semua permintaan AJAX secara lalai untuk memasukkan logik tanpa cache yang baru kita bincangkan. Untuk melakukan ini, matikan caching secara global menggunakan fungsi
ajaxSetup
. #????#
rrreee
#????#Kini, untuk mengatasi tetapan global ini dengan permintaan XHR individu, anda hanya boleh menukar pilihan cache apabila menggunakan fungsi ajax()
. Di bawah ialah contoh kod yang melaksanakan permintaan XHR menggunakan fungsi ajax()
, yang mengatasi tetapan global dan menyimpan cache permintaan itu. #????#
rrreee#????#Atas ialah kandungan terperinci Panduan Ringkas jQuery: Meneroka jQuery dan Ajax. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Sebab-sebab utama mengapa WordPress menyebabkan lonjakan dalam penggunaan CPU pelayan termasuk masalah pemalam, pertanyaan pangkalan data yang tidak cekap, kualiti kod tema yang buruk, atau lonjakan trafik. 1. 2. Masukkan mod penyelesaian masalah untuk secara beransur-ansur membolehkan pemalam untuk menyelesaikan masalah kesesakan prestasi, gunakan QueryMonitor untuk menganalisis pelaksanaan pemalam dan memadam atau menggantikan pemalam yang tidak cekap; 3. Pasang pemalam cache, bersihkan data berlebihan, menganalisis log pertanyaan perlahan untuk mengoptimumkan pangkalan data; 4. Periksa sama ada topik itu mempunyai masalah seperti kandungan beban, pertanyaan kompleks, atau kekurangan mekanisme caching. Adalah disyorkan untuk menggunakan ujian topik standard untuk membandingkan dan mengoptimumkan logik kod. Ikuti langkah -langkah di atas untuk memeriksa dan menyelesaikan lokasi dan selesaikan masalah satu demi satu.

Fail JavaScript Minive boleh meningkatkan kelajuan memuatkan laman web WordPress dengan mengeluarkan kosong, komen, dan kod yang tidak berguna. 1. Gunakan pemalam cache yang menyokong penggabungan mampatan, seperti w3totalcache, aktifkan dan pilih mod mampatan dalam pilihan "Minify"; 2. Gunakan plug-in mampatan khusus seperti fastvelocityminify untuk memberikan lebih banyak kawalan berbutir; 3. Secara manual memampatkan fail JS dan memuat naiknya melalui FTP, sesuai untuk pengguna yang biasa dengan alat pembangunan. Perhatikan bahawa beberapa tema atau skrip plug-in mungkin bertentangan dengan fungsi mampatan, dan anda perlu menguji fungsi laman web dengan teliti selepas pengaktifan.

Kaedah untuk mengoptimumkan tapak WordPress yang tidak bergantung pada pemalam termasuk: 1. Gunakan tema ringan, seperti Astra atau GeneratePress, untuk mengelakkan tema tumpukan; 2. Secara manual memampatkan dan menggabungkan fail CSS dan JS untuk mengurangkan permintaan HTTP; 3. Mengoptimumkan imej sebelum memuat naik, gunakan format web dan saiz fail kawalan; 4. Configure.htaccess untuk membolehkan cache penyemak imbas, dan sambungkan ke CDN untuk meningkatkan kelajuan pemuatan sumber statik; 5. Hadkan semakan artikel dan data yang kerap dibersihkan data yang berlebihan.

Cara yang paling berkesan untuk mengelakkan spam komen adalah untuk mengenal pasti dan memintasnya secara automatik melalui cara programatik. 1. Menggunakan mekanisme kod pengesahan (seperti Googler Captcha atau HCaptcha) untuk membezakan secara berkesan antara manusia dan robot, terutama yang sesuai untuk laman web awam; 2. Tetapkan bidang tersembunyi (teknologi honeypot), dan gunakan robot untuk mengisi ciri -ciri secara automatik untuk mengenal pasti komen spam tanpa menjejaskan pengalaman pengguna; 3. Semak senarai hitam Kata Kunci Kandungan Komen, maklumat spam penapis melalui pemadanan kata yang sensitif, dan perhatikan untuk mengelakkan salah faham; 4. Hakim kekerapan dan sumber IP komen, hadkan bilangan penyerahan per unit masa dan buat senarai hitam; 5. Gunakan perkhidmatan anti-spam pihak ketiga (seperti Akismet, CloudFlare) untuk meningkatkan ketepatan pengenalan. Boleh berdasarkan laman web

Transientsapi adalah alat terbina dalam di WordPress untuk menyimpan data tamat tempoh automatik sementara. Fungsi terasnya adalah set_transient, get_transient dan delete_transient. Berbanding dengan OptionsAPI, transien menyokong penetapan masa kelangsungan hidup (TTL), yang sesuai untuk senario seperti hasil permintaan API cache dan data pengkomputeran yang kompleks. Apabila menggunakannya, anda perlu memberi perhatian kepada keunikan penamaan utama dan ruang nama, mekanisme "penghapusan malas" cache, dan isu yang mungkin tidak bertahan dalam persekitaran cache objek. Senario aplikasi biasa termasuk mengurangkan kekerapan permintaan luaran, mengawal irama pelaksanaan kod, dan meningkatkan prestasi pemuatan halaman.

Apabila membangunkan blok gutenberg, kaedah aset enqueue yang betul termasuk: 1. Gunakan daftar_block_type untuk menentukan laluan editor_script, editor_style dan gaya; 2. Daftar sumber melalui wp_register_script dan wp_register_style dalam fungsi.php atau plug-in, dan tetapkan kebergantungan dan versi yang betul; 3. Konfigurasikan alat binaan untuk mengeluarkan format modul yang sesuai dan pastikan laluan itu konsisten; 4. Kawalan logik pemuatan gaya depan melalui add_theme_support atau enqueue_block_assets untuk memastikan logik pemuatan gaya front-end dipastikan.

Untuk menambah medan pengguna tersuai, anda perlu memilih kaedah lanjutan mengikut platform dan memberi perhatian kepada pengesahan data dan kawalan kebenaran. Amalan umum termasuk: 1. Gunakan jadual tambahan atau pasangan nilai utama pangkalan data untuk menyimpan maklumat; 2. Tambah kotak input ke hujung depan dan diintegrasikan dengan hujung belakang; 3. Mengatasi Pemeriksaan Format dan Kebenaran Akses untuk Data Sensitif; 4. Kemas kini antara muka dan templat untuk menyokong paparan dan penyuntingan medan baru, sambil mengambil kira penyesuaian mudah alih dan pengalaman pengguna.

Kunci untuk menambah peraturan penulisan semula tersuai di WordPress adalah dengan menggunakan fungsi add_rewrite_rule dan pastikan peraturan berkuatkuasa dengan betul. 1. Gunakan add_rewrite_rule untuk mendaftarkan peraturan, formatnya adalah add_rewrite_rule ($ regex, $ redirect, $ selepas), di mana $ regex adalah url yang sepadan dengan ungkapan biasa, $ redirect menentukan pertanyaan sebenar, dan $ selepas mengawal lokasi peraturan; 2. Pembolehubah pertanyaan tersuai perlu ditambah melalui add_filter; 3. Selepas pengubahsuaian, tetapan pautan tetap mesti disegarkan semula; 4. Adalah disyorkan untuk meletakkan peraturan di 'atas' untuk mengelakkan konflik; 5. Anda boleh menggunakan pemalam untuk melihat peraturan semasa untuk kemudahan
