Dalam proyek yang sebenarnya, saya sering menemukan persyaratan seperti itu, yaitu, untuk melompat antara halaman subsistem dan terbuka pada halaman baru. Tim proyek yang saya ikuti menggunakan kerangka kerja SSH, sehingga URL mirip dengan tindakan ****., Dan mereka juga memiliki dua parameter (ID sistem dan nama sistem). Dua parameter dicegat oleh struts dan disimpan dalam sesi. Ada juga menu seperti pohon yang diimplementasikan oleh plug-in Ztree di halaman Subsistem Terbuka yang mengharuskan ID sistem parameter diinisialisasi. Gunakan window.open (url, "_ blank") secara langsung, yang akan membuat URL terlalu lama dan juga mengekspos beberapa parameter. Oleh karena itu, saya ingin menggunakan posting untuk mengirimkan sebagai gantinya, menyembunyikan lewat parameter selama proses pengiriman. Pertama -tama, saya memikirkan pengajuan AJAX, tetapi akan ada masalah dengan kelulusan dua parameter. Pengajuan AJAX dan window.open () akan menyebabkan aksi pergi dua kali, jadi saya akan menyerah. Kemudian, saya dengan hati -hati melihat jendela.open () API lagi, dan alamat tautannya adalah http://www.w3school.com.cn/jsref/met_win_open.asp. window.open () adalah metode pengiriman GET secara default. Jika Anda ingin mengimplementasikan metode pengiriman posting, Anda harus memikirkan metode lain. Lihat //www.vevb.com/article/32826.htm, metode diperkenalkan di sini. Ini juga merupakan metode yang sering digunakan. Saya membuat beberapa modifikasi berdasarkan situasi aktual:
Salinan kode adalah sebagai berikut:
Fungsi OpenPostWindow (URL, Name, Data1, Data2) {
var tempform = document.createElement ("Form");
tempform.id = "tempform1";
tempform.method = "post";
tempform.action = url;
tempform.target = name;
var hideInput1 = document.createElement ("input");
hideInput1.type = "tersembunyi";
hideInput1.name = "xtid";
hideInput1.value = data1;
var hideInput2 = document.createElement ("input");
hideInput2.type = "tersembunyi";
hideInput2.name = "xtmc";
hideInput2.value = data2;
tempform.appendChild (hideInput1);
tempform.appendChild (hideInput2);
if (document.all) {
tempform.attachevent ("onsubmit", function () {}); //YAITU
}kalau tidak{
var subobj = tempform.addeventListener ("kirim", function () {}, false); // Firefox
}
Document.Body.AppendChild (Tempor);
if (document.all) {
tempform.fireevent ("onsubmit");
}kalau tidak{
tempform.dispatchevent (acara baru ("kirim"));
}
tempform.submit ();
document.body.removechild (tempform);
}
// fungsi OpenWindow (name) {
// window.open ("", name);
//}
Jumlah parameter dalam fungsi OpenPostWindow () dimodifikasi dengan sendirinya sesuai dengan kebutuhan aktual. Data1 dan Data2 adalah parameter yang perlu dilewati dalam tindakan. Selain itu, masalah kompatibilitas browser acara JavaScript perlu dipertimbangkan di sini. Saya telah mengomentari fungsi OpenWindow () di sini, jika tidak, saya akan membuka halaman kosong ekstra (tentang: kosong). Ini pada dasarnya memenuhi kebutuhan.
Di atas adalah semua konten yang dibagikan dalam artikel ini, saya harap Anda menyukainya.