Dans les projets réels, je rencontre souvent une telle exigence, c'est-à-dire de sauter entre les pages du sous-système et d'ouvrir sur une nouvelle page. L'équipe de projet dans laquelle je suis utilise un framework SSH, donc les URL sont similaires à ****. Action, et ils ont également deux paramètres (ID système et nom du système). Les deux paramètres sont interceptés par des entretoises et stockés dans la session. Il existe également un menu de type arborescence implémenté par le plug-in Ztree dans la page du sous-système ouvert qui nécessite l'initialisation de l'ID du système de paramètres. Utilisez Window.Open (URL, "_ Blank") directement, qui rendra l'URL trop long et exposera également certains paramètres. Par conséquent, je souhaite utiliser Post pour soumettre à la place, en cachant le passage des paramètres pendant le processus de soumission. Tout d'abord, je pense à la soumission de l'Ajax, mais il y aura des problèmes avec le passage de deux paramètres. Ajax Soumission et Window.Open () fera passer l'action deux fois, donc je vais l'abandonner. Plus tard, j'ai à nouveau examiné soigneusement l'API Window.open (), et l'adresse du lien était http://www.w3school.com.cn/jsref/met_win_open.asp. Window.Open () est la méthode de soumission GET par défaut. Si vous souhaitez implémenter la méthode de soumission du post, vous devez penser à une autre méthode. Reportez-vous à //www.vevb.com/article/32826.htm, une méthode est introduite ici. C'est aussi une méthode qui est souvent utilisée. J'ai apporté quelques modifications en fonction de la situation réelle:
La copie de code est la suivante:
fonction openPostWindow (URL, nom, data1, data2) {
var tempForm = document.CreateElement ("form");
tempForm.id = "tempForm1";
tempForm.Method = "Post";
TempForm.Action = URL;
tempForm.target = name;
var hideinput1 = document.CreateElement ("entrée");
hideInput1.type = "Hidden";
hideinput1.name = "xtid";
hideInput1.value = data1;
var hideinput2 = document.CreateElement ("entrée");
hideInput2.Type = "Hidden";
hideInput2.Name = "xtmc";
hideInput2.Value = data2;
TempForm.ApendChild (HideInput1);
TempForm.ApendChild (HideInput2);
if (document.all) {
tempForm.Attachevent ("onSubmit", function () {}); // c'est-à-dire
}autre{
var suboBj = tempForm.AddeventListener ("soumi", fonction () {}, false); // Firefox
}
Document.Body.ApendChild (TempForm);
if (document.all) {
TempForm.Fireevent ("OnSubmit");
}autre{
TempForm.DispatchEvent (nouvel événement ("soumettre"));
}
tempForm.Submit ();
document.body.removechild (tempForm);
}
// fonction openwindow (name) {
// window.open ("", nom);
//}
Le nombre de paramètres dans la fonction OpenPostWindow () est modifié par lui-même en fonction des besoins réels. Data1 et Data2 sont les paramètres qui doivent être passés en action. De plus, les problèmes de compatibilité des navigateurs d'événements JavaScript doivent être pris en compte ici. J'ai commenté la fonction openwindow () ici, sinon j'ouvrirai une page très vierge (à propos: vide). Cela répond essentiellement aux besoins.
Ce qui précède est tout le contenu partagé dans cet article, j'espère que vous l'aimez.