


Perkara yang perlu digunakan untuk pembangunan ajax bertindak balas
Pembangunan ajax bertindak balas boleh menggunakan: 1. Kaedah "$.ajax" jQuery; 2. Ambil API; latar belakang; 5. Minta perpustakaan.
Persekitaran pengendalian tutorial ini: sistem Windows 7, bertindak balas versi 17.0.1, komputer Dell G3.
5 penyelesaian untuk permintaan React AJAX
1. jQuery $.ajax
Ini adalah penyelesaian yang cepat dan kotor. Dalam versi lama tutorial React rasmi, mereka menggunakan jQuery $.ajax
untuk menunjukkan cara mendapatkan data daripada pelayan. Jika anda baru mula belajar dan bermain dengan React, jQuery boleh menjimatkan banyak masa anda dalam memulakan dan membangun, kerana kita semua sangat biasa dengan jQuery. Ini ialah contoh jQuery yang melaksanakan AJAX:
loadCommentsFromServer: function() { $.ajax({ url: this.props.url, dataType: 'json', cache: false, success: function(data) { this.setState({data: data}); // 注意这里 }.bind(this), error: function(xhr, status, err) { console.error(this.props.url, status, err.toString()); }.bind(this) }); }
P.S. Coretan kod ini diambil daripada versi lama tutorial rasmi
Ini menunjukkan cara menggunakan jQuery dalam komponen React $.ajax
. Satu-satunya perkara yang memerlukan perhatian ialah cara memanggil success
dalam panggilan balik this.setState()
, iaitu cara mengemas kini keadaan melalui API React selepas jQuery berjaya menerima data.
Walau bagaimanapun, jQuery adalah yang besar yang mengandungi banyak fungsi, dan tidak masuk akal untuk memperkenalkan keseluruhan jQuery hanya untuk menggunakan fungsi AJAX (melainkan anda juga menggunakan jQuery untuk melakukan banyak perkara lain) . Jadi, apa yang perlu saya gunakan? Jawapannya ialah fetch
API.
2 API Ambil
https://github.com/github/fetch
Fetch
ialah API baharu, ringkas dan standard direka bentuk untuk menyatukan mekanisme komunikasi web dan menggantikan XMLHttpRequest
. Ia telah disokong oleh penyemak imbas arus perdana, dan terdapat juga polyfill untuk penyemak imbas lama (Benz messed up: polyfill literal diterjemahkan sebagai alat pengisian, yang bermaksud bahawa pelayar lama pada asalnya tidak menyokong API JS baharu dan memperkenalkan sekeping kod js Ia akan disokong kemudiannya Kod js ini "mengisi" API untuk penyemak imbas lama Saya benar-benar tidak tahu bagaimana untuk menterjemah perkataan ini, tetapi saya rasa membiarkan perkataan asal tidak diterjemahkan akan memudahkannya. pembaca untuk memahami) . Jika anda menggunakan Node.js, anda juga boleh menggunakan node-fetch untuk mendayakan sokongan Node.js Fetch
.
Jika coretan kod di atas menggunakan jQuery $.ajax
ditukar kepada fetch
, kod tersebut sepatutnya kelihatan seperti ini:
loadCommentsFromServer: function() { fetch(this.props.url).then(function(response){ // 在这儿实现 setState }); }
Dalam beberapa tutorial React yang popular, anda boleh Temui fetch
. Untuk mengetahui lebih lanjut tentang fetch
, sila rujuk pautan berikut (semua dalam bahasa Inggeris):
- Mozilla
- David Walsh Blog
- Pembangun Google
- WHATWG
3 SuperAgent
https://. github.com/visionmedia/superagent
SuperAgent ialah perpustakaan API AJAX yang ringan, dilahirkan untuk kebolehbacaan dan fleksibiliti yang lebih baik. Jika atas sebab tertentu anda tidak mahu menggunakan fetch
, maka SuperAgent hampir merupakan pilihan yang tidak dapat dielakkan. Penggunaan SuperAgent adalah lebih kurang seperti berikut:
loadCommentsFromServer: function() { request.get(this.props.url).end(function(err,res){ // 在这儿实现 setState }); }
SuperAgent juga mempunyai versi Node.js dan API adalah sama. Jika anda menggunakan Node.js dan React untuk membangunkan aplikasi isomorfik (Benz kacau: pautan ini telah saya tambahkan untuk menjaga pemula) , anda boleh menggunakan sesuatu seperti webpack untuk membenamkan superagent
dan Make ia berfungsi pada bahagian pelayar. Oleh kerana API bahagian penyemak imbas dan bahagian pelayan adalah sama, versi Node.jsnya boleh dijalankan pada penyemak imbas tanpa mengubah suai sebarang kod.
4 Axios
https://github.com/axios/axios
Axios ialah objek berasaskan janji (Benz pencerobohan : Pautan ini juga telah saya tambahkan) Klien HTTP terutamanya digunakan untuk memulakan permintaan ke latar belakang, dan ia juga mempunyai fungsi yang lebih terkawal dalam permintaan. . Seperti fetch
dan superagent
, ia menyokong kedua-dua penyemak imbas dan Node.js. Di samping itu, anda boleh menemui di laman utama Githubnya bahawa ia mempunyai banyak fungsi lanjutan yang berguna.
Ini ialah penggunaan umum Axios:
loadCommentsFromServer: function() { axios.get(this.props.url).then(function(response){ // 在这儿实现 setState }).catch(function(error){ // 处理请求出错的情况 }); }
5 Permintaan
https://github.com/request/request<. 🎜 >
Jika saya tidak memperkenalkan perpustakaan permintaan ini, rasanya artikel ini tidak lengkap. Ini ialah perpustakaan JS yang mengejar reka bentuk minimalis dalam ideologi Ia mempunyai lebih daripada 12k bintangdi Github (Benz kacau: ia sudah mempunyai 16k bintang apabila saya menterjemah artikel ini) . Ia juga merupakan salah satu modul Node.js yang paling popular. Pergi ke halaman utama GitHubnya untuk mengetahui lebih lanjut.
Contoh penggunaan:loadCommentsFromServer: function() { request(this.props.url, function(err, response, body){ // 在这儿实现 setState }); }
Tutorial video Redis]
Atas ialah kandungan terperinci Perkara yang perlu digunakan untuk pembangunan ajax bertindak balas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

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

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

Undress AI Tool
Gambar buka pakaian secara percuma

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)

Topik panas

Bina enjin cadangan autolengkap menggunakan PHP dan Ajax: Skrip sisi pelayan: mengendalikan permintaan Ajax dan mengembalikan cadangan (autocomplete.php). Skrip pelanggan: Hantar permintaan Ajax dan cadangan paparan (autocomplete.js). Kes praktikal: Sertakan skrip dalam halaman HTML dan nyatakan pengecam elemen input carian.

PHP, Vue dan React: Bagaimana untuk memilih rangka kerja bahagian hadapan yang paling sesuai? Dengan pembangunan berterusan teknologi Internet, rangka kerja bahagian hadapan memainkan peranan penting dalam pembangunan Web. PHP, Vue dan React ialah tiga rangka kerja bahagian hadapan yang mewakili, masing-masing mempunyai ciri dan kelebihan tersendiri. Apabila memilih rangka kerja bahagian hadapan yang hendak digunakan, pembangun perlu membuat keputusan termaklum berdasarkan keperluan projek, kemahiran pasukan dan pilihan peribadi. Artikel ini akan membandingkan ciri dan penggunaan tiga rangka kerja bahagian hadapan PHP, Vue dan React.

Penyepaduan rangka kerja Java dan rangka kerja React: Langkah: Sediakan rangka kerja Java bahagian belakang. Buat struktur projek. Konfigurasikan alat binaan. Buat aplikasi React. Tulis titik akhir REST API. Konfigurasikan mekanisme komunikasi. Kes praktikal (SpringBoot+React): Kod Java: Tentukan pengawal RESTfulAPI. Kod tindak balas: Dapatkan dan paparkan data yang dikembalikan oleh API.

Menggunakan Ajax untuk mendapatkan pembolehubah daripada kaedah PHP adalah senario biasa dalam pembangunan web Melalui Ajax, halaman boleh diperoleh secara dinamik tanpa menyegarkan data. Dalam artikel ini, kami akan memperkenalkan cara menggunakan Ajax untuk mendapatkan pembolehubah daripada kaedah PHP, dan memberikan contoh kod khusus. Pertama, kita perlu menulis fail PHP untuk mengendalikan permintaan Ajax dan mengembalikan pembolehubah yang diperlukan. Berikut ialah kod contoh untuk fail PHP mudah getData.php:

Ajax (JavaScript Asynchronous dan XML) membenarkan menambah kandungan dinamik tanpa memuatkan semula halaman. Menggunakan PHP dan Ajax, anda boleh memuatkan senarai produk secara dinamik: HTML mencipta halaman dengan elemen kontena dan permintaan Ajax menambah data pada elemen selepas memuatkannya. JavaScript menggunakan Ajax untuk menghantar permintaan kepada pelayan melalui XMLHttpRequest untuk mendapatkan data produk dalam format JSON daripada pelayan. PHP menggunakan MySQL untuk menanyakan data produk daripada pangkalan data dan mengekodnya ke dalam format JSON. JavaScript menghuraikan data JSON dan memaparkannya dalam bekas halaman. Mengklik butang mencetuskan permintaan Ajax untuk memuatkan senarai produk.

Untuk meningkatkan keselamatan Ajax, terdapat beberapa kaedah: Perlindungan CSRF: menjana token dan menghantarnya kepada pelanggan, menambahnya ke bahagian pelayan dalam permintaan untuk pengesahan. Perlindungan XSS: Gunakan htmlspecialchars() untuk menapis input bagi mengelakkan suntikan skrip berniat jahat. Pengepala Kandungan-Keselamatan-Dasar: Hadkan pemuatan sumber berniat jahat dan nyatakan sumber dari mana skrip dan helaian gaya dibenarkan untuk dimuatkan. Sahkan input sisi pelayan: Sahkan input yang diterima daripada permintaan Ajax untuk menghalang penyerang daripada mengeksploitasi kelemahan input. Gunakan perpustakaan Ajax yang selamat: Manfaatkan modul perlindungan CSRF automatik yang disediakan oleh perpustakaan seperti jQuery.

Vue.js sesuai untuk projek kecil dan sederhana dan lelaran yang cepat, sementara React sesuai untuk aplikasi besar dan kompleks. 1) Vue.js mudah digunakan dan sesuai untuk situasi di mana pasukan tidak mencukupi atau skala projek kecil. 2) React mempunyai ekosistem yang lebih kaya dan sesuai untuk projek dengan prestasi tinggi dan keperluan fungsional yang kompleks.

React menggabungkan JSX dan HTML untuk meningkatkan pengalaman pengguna. 1) JSX membenamkan HTML untuk menjadikan pembangunan lebih intuitif. 2) Mekanisme DOM maya mengoptimumkan prestasi dan mengurangkan operasi DOM. 3) UI pengurusan berasaskan komponen untuk meningkatkan kebolehkerjaan. 4) Pengurusan negeri dan pemprosesan acara meningkatkan interaktiviti.
