Kedudukan Ajax cukup tinggi di atas alasan terbesar untuk menggunakan jQuery. Bukan hanya jQuery menyelesaikan masalah penyemak imbas silang, ia menjadikan sintaks sangat mudah digunakan dan difahami.
Dalam video ini, kita terus menerus menerangkan apa sebenarnya Ajax. Kami melihat elemen bentuk, yang ketika dikirimkan, melakukan permintaan GET atau POST (seperti yang ditentukan oleh atribut metode) ke URL yang anda tentukan (seperti yang ditentukan oleh atribut tindakan). Itu hanya HTML, tidak ada kod backend atau JavaScript yang berlaku sama sekali. Tetapi penyerahan itu akan menyebabkan halaman berubah, secara harfiah memuat semula URL baru, seperti mengklik pautan.
Ajax membolehkan kami membuat permintaan GET atau POST di latar belakang, tanpa memuatkan semula halaman. Pada intinya, itulah keseluruhan titik Ajax. Dan sangat kuat. Ini sangat bertanggungjawab untuk mengapa laman web moden berfungsi dan merasakan seperti yang mereka lakukan.
Ajax biasa "bermaksud" JavaScript Asynchronous dan XML, tetapi sebahagian besarnya diabaikan hari ini kerana tidak banyak makna. Oleh itu juga penghapusan huruf besar. Anda mungkin kadang-kadang melihat "XHR" yang merupakan kependekan dari XMLHttpRequest, yang merupakan teknologi teras asli Ajax.
Perbezaan antara GET dan POST pada dasarnya: GET adalah untuk mendapatkan maklumat dan tidak boleh bertanggungjawab untuk mengubah data dan POST khusus untuk mengubah data. Jangan ragu untuk membaca lebih lanjut mengenai perkara ini di thread StackOverflow ini.
Membuat permintaan GET di jQuery sangat mudah:
$.get( "URL", function(data) ( // do something with data )); ));
URL adalah tempat anda berharap dapat memperoleh data. Parameter kedua adalah fungsi panggilan balik yang dijalankan ketika permintaan Ajax berjaya. Parameter yang paling penting adalah yang pertama, data, yang mempunyai maklumat yang diperoleh dari permintaan tersebut.
Permintaan Ajax kadangkala gagal. Salah satu sebab kegagalan itu ialah penyemak imbas itu sendiri dan polisi keselamatannya. Di dalam penyemak imbas sendiri ada peraturan mengenai dari mana kandungan boleh diminta. Permintaan selalu dapat dibuat ke domain yang sama dari mana permintaan itu berasal. Tetapi jika ada domain yang berbeza yang terlibat, domain yang berbeza tersebut perlu membenarkannya secara khusus.
Anda boleh membaca semua itu di allow-cors.org. CORS bermaksud "Perkongsian Sumber Silang Asal". Kami melihat contoh di mana CORS tidak diaktifkan dan permintaan Ajax gagal. Salah satu kaedah standard dan mudah untuk memperbaikinya, dengan anggapan pelayan adalah Apache, adalah dengan menetapkan header yang secara khusus membenarkan CORS melalui fail .htaccess:
Header set Access-Control-Allow-Origin "*"
Dalam video, kami hanya memindahkan permintaan Ajax ke CodePen, yang menangani Ajax dengan baik secara lalai.
Mudah cheesy:
Lihat Pen fBInl oleh Chris Coyier (@chriscoyier) di CodePen