Im Allgemeinen ist das Öffnen eines neuen Fensters in js sehr einfach, einfach window.open(url); und das war's,
Aber weil ich Parameter an den Server übergeben möchte und die Parameter eine lange Zeichenfolge zu sein scheinen und die Länge der in der Get-Methode übermittelten Parameter begrenzt ist, habe ich die folgenden Anforderungen:
1. Implementieren Sie die Beitragseinreichung in js
2. Die zurückgegebene Seite wird in einem neuen Fenster angezeigt
Zuerst habe ich Folgendes gemacht:
$.ajax({
Geben Sie ein: „POST“,
URL: '${contextPath}/analyse/detail.do',
Daten: {carNum:carNum,ids:refIds},
Erfolg: function(str_response) { var obj = window.open("about:blank");
});
Über jQuery Ajax übermittelt, werden die zurückgegebenen Daten auf eine neue Seite geschrieben, aber da der Browser das automatische Popup-Fenster abfängt, muss der Benutzer es selbst entsperren, und die Benutzererfahrung ist sehr schlecht,
Dann habe ich es implementiert, indem ich die Formularübermittlung simuliert habe
Code kopieren
Der Code lautet wie folgt:
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"; for (var x in PARAMS) {
opt.name = x;
opt.value = PARAMS[x];
temp_form .appendChild(opt);
document.body.appendChild(temp);
temp_form .submit();
}
Hinweis: Wenn Sie ein neues Fenster öffnen möchten, muss das Zielattribut des Formulars auf „_blank“ gesetzt werden
Dann fordern Sie post('${contextPath}/analyse/detail.do',{carNum:carNum,ids:refIds}); an und fertig
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn