Di JS, biasanya sangat sederhana untuk membuka jendela baru. Buka (URL); pergi saja.
Tetapi karena saya ingin meneruskan parameter ke server, dan parameternya terlihat seperti string panjang, dan panjang parameter komit dalam metode GET terbatas, saya memiliki persyaratan berikut:
1. Menerapkan Posting Posting di JS
2. Halaman yang dikembalikan ditampilkan di jendela baru
Pertama -tama, saya melakukan ini:
Salinan kode adalah sebagai berikut:
$ .Ajax ({
Ketik: "Posting",
url: '$ {ContextPath} /Analyse/Detail.do',
Data: {Carnum: Carnum, IDS: Refids},
Success: function (str_response) {var obj = window.open ("tentang: blank");
obj.document.write (str_response);
}
});
Dikirim melalui JQuery Ajax, data yang dikembalikan ditulis dalam halaman baru, tetapi karena browser akan mencegat jendela pop-up secara otomatis, pengguna masih perlu melepaskannya sendiri, dan pengalaman pengguna sangat buruk.
Kemudian saya menyadari dengan mengejek pengiriman formulir
Salinan kode adalah sebagai berikut:
Function Post (url, params) {var temp_form = document.createElement ("Form");
temp_form .action = url;
temp_form .target = "_blank";
temp_form .method = "post";
temp_form .style.display = "none"; untuk (var x di params) {var opt = document.createElement ("textarea");
opt.name = x;
opt.value = params [x];
temp_form .AppendChild (opt);
}
document.body.appendchild (temp);
temp_form .submit ();
}
Catatan: Jika Anda ingin mengatur properti target dari formulir jendela yang baru dibuka ke '_blank'
Kemudian minta postingan ('$ {ContextPath} /Analyse/Detail.do', {Carnum: Carnum, IDS: Refids});