AJAX - mengirimkan permintaan ke server
objek XMLHttpRequest untuk bertukar data dengan server.
Mengirimkan permintaan ke server
Untuk mengirim permintaan ke server, kita menggunakan open objek XMLHttpRequest ini () dan mengirim () metode:
xmlhttp.send();
cara | deskripsi |
---|---|
terbuka(metode, url, async) | Jenis menentukan permintaan, URL dan pengolahan apakah asynchronous permintaan.
|
kirim(string) | Mengirimkan permintaan ke server.
|
GET atau POST?
Dibandingkan dengan POST, GET mudah dan lebih cepat, dan dalam kebanyakan kasus dapat digunakan.
Namun, dalam kasus berikut, silakan gunakan permintaan POST:
- Tidak dapat menggunakan file cache (file atau memperbarui database di server)
- Kirim data dalam jumlah besar (POST tidak membatasi jumlah data) ke server
- Saat mengirim input pengguna berisi karakter yang tidak diketahui, POST lebih stabil dan lebih dapat diandalkan dibandingkan GET
GET permintaan
Permintaan GET sederhana:
Dalam contoh di atas, Anda mungkin mendapatkan hasil cache.
Untuk menghindari hal ini, menambahkan ID unik ke URL:
Jika Anda ingin mengirim informasi melalui metode GET, tambahkan informasi ke URL:
permintaan POST
Sebuah permintaan POST sederhana:
Jika Anda membutuhkan data sebagai bentuk POST HTML, menggunakan setRequestHeader () untuk menambahkan header HTTP. Kemudian menentukan bahwa Anda ingin mengirim data di send () metode:
contoh
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("fname=Henry&lname=Ford");
Coba »
方法 | 描述 |
---|---|
setRequestHeader(header,value) |
向请求添加 HTTP 头。
|
url - file di server
Argumenurlterbuka () metode adalah alamat dari file server:
File dapat menjadi semua jenis file, seperti .txt dan xml, atau file server script, seperti Asp dan php (sebelum kembali respon, untuk melakukan tugas-tugas di server).
Asynchronous - Benar atau Salah?
AJAX berarti asynchronous JavaScript dan XML (Asynchronous JavaScript dan XML).
Jika Anda ingin menggunakan AJAX XMLHttpRequest object, kemudian, parameter async yang terbuka () metode harus diatur ke benar:
Untuk pengembang web, mengirim permintaan asynchronous adalah langkah besar ke depan. Di server untuk melakukan banyak tugas yang sangat memakan waktu. Sebelum AJAX terjadi, yang dapat menyebabkan aplikasi untuk menggantung atau berhenti.
Melalui AJAX, JavaScript tanpa menunggu respon server, tetapi:
- script lainnya mengeksekusi sambil menunggu respon dari server
- Ketika respon siap untuk menanggapi memproses
Async = true
Bila menggunakan async = true, silahkan ketentuan dalam menanggapi peristiwa dalam kesiapan onreadystatechange untuk melakukan fungsi:
contoh
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","ajax_info.txt",true);
xmlhttp.send();
Coba »
Anda akan belajar lebih banyak tentang konten onreadystatechange pada bab berikutnya.
Async = false
Untuk menggunakan async = false, menetapkan metode open () pada parameter ketiga untuk salah:
xmlhttp.open("GET","test1.txt",false);
Kami tidak menyarankan menggunakan async = false, tapi untuk beberapa permintaan kecil, juga mungkin.
Ingat, JavaScript akan menunggu sampai respon server siap untuk melanjutkan. Jika server sibuk atau lambat, atau menghentikan aplikasi hang.
Catatan: Bila Anda menggunakan async = false, jangan menulis fungsi onreadystatechange - memasukkan kode tersebut ke send () kembali ke pernyataan:
contoh
xmlhttp.send();
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
Coba »