Objek XMLHTTP dan metodenya
MSXML menyediakan objek Microsoft.XMLHTTP, yang dapat menyelesaikan konversi dan pengiriman tugas dari paket data ke objek Permintaan.
Pernyataan untuk membuat objek XMLHTTP adalah sebagai berikut:
Setel objXML = CreateObject("Msxml2.XMLHTTP") atau
Setel objXML = CreateObject("Microsoft.XMLHTTP")
' Atau, untuk XMLHTTP versi 3.0, gunakan:
' Atur xml = Server.CreateObject("MSXML2.ServerXMLHTTP")
Setelah objek dibuat, panggil metode Open untuk menginisialisasi objek Permintaan. Format sintaksnya adalah:
poster.open metode http, url, async, userID, kata sandi
Metode Terbuka berisi 5 parameter, tiga parameter pertama diperlukan, dan dua parameter terakhir bersifat opsional (disediakan saat server memerlukan otentikasi). Arti dari parameter adalah sebagai berikut:
metode http: Metode komunikasi HTTP, seperti GET atau POST
url: Alamat URL server yang menerima data XML. Biasanya program ASP atau CGI ditentukan dalam URL
async: Bendera Boolean yang menunjukkan apakah permintaan tersebut asinkron. Jika mode komunikasi asinkron (benar), klien tidak menunggu respons server; jika mode sinkron (salah), klien harus menunggu hingga server mengembalikan pesan sebelum melakukan operasi lain.
userID ID pengguna yang digunakan untuk otentikasi server
password Kata sandi pengguna, digunakan untuk otentikasi server
Setelah metode Kirim objek XMLHTTP menginisialisasi objek Permintaan dengan metode Terbuka, panggil metode Kirim untuk mengirim data XML:
poster.kirim data XML
Tipe parameter metode Kirim adalah Varian, yang dapat berupa string, pohon DOM, atau aliran data apa pun. Ada dua cara untuk mengirim data: sinkron dan asinkron. Dalam mode asinkron, setelah paket data dikirim, proses Pengiriman diakhiri, dan klien melakukan operasi lainnya; dalam mode sinkron, klien menunggu hingga server mengembalikan pesan konfirmasi sebelum mengakhiri proses Pengiriman.
Atribut readyState pada objek XMLHTTP dapat mencerminkan kemajuan server dalam memproses permintaan. Program klien dapat mengatur metode pemrosesan peristiwa yang sesuai berdasarkan informasi status ini. Nilai atribut dan maknanya disajikan pada tabel berikut:
Deskripsi nilai
0 Objek Response telah dibuat, namun proses upload dokumen XML belum berakhir.
1 Dokumen XML telah dimuat
2 Dokumen XML telah dimuat dan sedang diproses.
3 Bagian dari dokumen XML telah diurai
4 Dokumen telah diuraikan dan klien dapat menerima pesan pengembalian. Klien memproses informasi respons. Setelah menerima pesan pengembalian, klien melakukan pemrosesan sederhana, yang pada dasarnya menyelesaikan siklus interaksi antara C/S. Klien menerima respons melalui properti objek XMLHTTP:
● responTxt: mengembalikan pesan sebagai string teks;
● responXML: memperlakukan pesan balasan sebagai dokumen XML, digunakan ketika pesan respons server berisi data XML;
● responStream: memperlakukan pesan yang dikembalikan sebagai objek Stream.
File xml berikut dibuat secara dinamis dan akhirnya dikirim menggunakan xmlHTTP. Ini adalah konten dalam skrip JavaScript klien. Tentu saja, Anda juga dapat menulisnya di server, tetapi Anda perlu mengubah beberapa hal sesuai: (Hanya untuk referensi Anda , pahami penggunaannya)
var xmlDoc=new ActiveXObject("MSXML2.DOMDocument");
flag=xmlDoc.loadXML("");
newNode =xmlDoc.createElement("pengkodean")
MarkNode=xmlDoc.documentElement.appendChild(newNode);
newNode =xmlDoc.createElement("StartMark")
newNode.text=Tanda Awal;
MarkNode.appendChild(Node baru)
newNode =xmlDoc.createElement("Tanda Akhir")
newNode.text=Tanda Akhir;
MarkNode.appendChild(Node baru)
newNode =xmlDoc.createElement("Tanggal")
DateNode=xmlDoc.documentElement.appendChild(newNode);
newNode =xmlDoc.createElement("Tanggal Mulai");
newNode.text=Tanggal Mulai;
DateNode.appendChild(Node baru)
newNode =xmlDoc.createElement("Tanggal Akhir")
newNode.text=Tanggal Berakhir;
DateNode.appendChild(newNode);
newNode =xmlDoc.createElement("Jumlah")
SLNode =xmlDoc.documentElement.appendChild(newNode);
newNode =xmlDoc.createElement("StartSL")
newNode.text=MulaiShuL
SLNode.appendChild(Node baru)
newNode =xmlDoc.createElement("EndSL");
newNode.text=EndShuL
SLNode.appendChild(Node baru);
newNode =xmlDoc.createElement("harga satuan")
DJNode =xmlDoc.documentElement.appendChild(Node baru)
newNode =xmlDoc.createElement("StartDJ")
newNode.text=MulaiDanJ;
DJNode.appendChild(Node baru);
newNode =xmlDoc.createElement("EndDJ")
newNode.text=EndDanJ;
DJNode.appendChild(Node baru);
newNode =xmlDoc.createElement("jumlah")
JENode =xmlDoc.documentElement.appendChild(Node baru)
newNode =xmlDoc.createElement("StartJE")
newNode.text=MulaiJinE
JENode.appendChild(Node baru)
newNode =xmlDoc.createElement("EndJE")
newNode.text=EndJinE
JENode.appendChild(Node baru)
newNode =xmlDoc.createElement("kode gudang")
newNode.teks=CK;
xmlDoc.documentElement.appendChild(Node baru)
newNode =xmlDoc.createElement("nomor tiket")
newNode.text=RKPH;
xmlDoc.documentElement.appendChild(Node baru)
newNode =xmlDoc.createElement("kode unit")
newNode.text=Nama Perusahaan;
xmlDoc.documentElement.appendChild(Node baru)
newNode =xmlDoc.createElement("BiaoShi")
newNode.text=Biaoshi
xmlDoc.documentElement.appendChild(Node baru)
newNode =xmlDoc.createElement("FindCate")
newNode.text=TemukanCate
xmlDoc.documentElement.appendChild(Node baru)
var xh = ActiveXObject baru("MSXML2.XMLHTTP")
xh.open("POST","Temukan.asp",false)
xh.setRequestHeader("Jenis Konten","teks/xml")
xh.setRequestHeader("Jenis Konten","gb2312")
xh.kirim(xmlDoc);
Nilai teks dari setiap newNode saya adalah variabel, yang merupakan nilai masukan dalam formulir klien saya.