In JS ist es normalerweise sehr einfach, ein neues Fenster zu öffnen. Open (URL); einfach geh.
Da ich jedoch Parameter an den Server übergeben möchte und die Parameter wie eine lange Zeichenfolge aussehen und die Länge der Festungsparameter in der GET -Methode begrenzt ist, habe ich die folgenden Anforderungen:
1. Implementieren Sie nach Einreichung in JS
2. Die zurückgegebene Seite wird in einem neuen Fenster angezeigt
Zunächst habe ich das getan:
Die Codekopie lautet wie folgt:
$ .ajax ({{{
Typ: "Post",
URL: '$ {contextPath} /Analyse/detail.do',
Daten: {Carnum: Carnum, IDS: REFIDS},
Erfolg: function (str_response) {var obj = window.open ("About: leer");
obj.document.write (str_response);
}
});
Die über JQuery Ajax eingereichten Daten sind in einer neuen Seite geschrieben. Da der Browser das automatisch-Popup-Fenster abfängt, muss der Benutzer es immer noch nicht selbst nicht eingehen, und die Benutzererfahrung ist sehr schlecht.
Dann wurde mir klar
Die Codekopie lautet wie folgt:
Funktion 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 = "Keine"; für (var x in params) {var opt = document.createelement ("textArea");
opt.name = x;
opt.Value = params [x];
temp_form .AppendChild (opt);
}
document.body.appendchild (temp);
temp_form .submit ();
}
Hinweis: Wenn Sie die Zieleigenschaft des neu geöffneten Fensterformulars auf '_blank' festlegen möchten
Dann fordern Sie post ('$ {contextPath} /Analyse/detail.do', {carnum: carnum, ids: refiden});