En proyectos reales, a menudo encuentro tal requisito, es decir, saltar entre las páginas del subsistema y abrir en una nueva página. El equipo del proyecto en el que estoy está utilizando un marco SSH, por lo que las URL son similares a la acción ****. Y también tienen dos parámetros (ID del sistema y nombre del sistema). Los dos parámetros son interceptados por puntales y almacenados en la sesión. También hay un menú similar a un árbol implementado por el complemento ZTree en la página del subsistema abierto que requiere que se inicialice la ID del sistema de parámetros. Use Window.open (URL, "_ en blanco") directamente, lo que hará la URL demasiado larga y también expondrá algunos parámetros. Por lo tanto, quiero usar Post para enviar en su lugar, ocultando el paso de los parámetros durante el proceso de envío. En primer lugar, pienso en la sumisión de AJAX, pero habrá problemas con el paso de dos parámetros. La sumisión y la ventana de AJAX.open () hará que la acción vaya dos veces, por lo que lo renunciaré. Más tarde, miré cuidadosamente la API Window.open () nuevamente, y la dirección de enlace fue http://www.w3school.com.cn/jsref/met_win_open.asp. Window.open () es el método GET de envío por defecto. Si desea implementar el método de envío de publicaciones, debe pensar en otro método. Consulte //www.vevb.com/article/32826.htm, se introduce un método aquí. También es un método que a menudo se usa. Hice algunas modificaciones basadas en la situación real:
La copia del código es la siguiente:
función OpenPostWindow (URL, Nombre, Data1, Data2) {
var tempform = document.createElement ("formulario");
tempform.id = "tempform1";
tempform.method = "post";
tempform.action = url;
tempform.target = name;
var hideInput1 = document.createElement ("entrada");
hideInput1.Type = "Hidden";
hideInput1.name = "Xtid";
hideInput1.Value = data1;
var hideInput2 = document.createElement ("entrada");
hideInput2.Type = "Hidden";
hideInput2.name = "Xtmc";
hideInput2.Value = data2;
TEMPFORM.AppendChild (HideInput1);
TEMPFORM.AppendChild (HideInput2);
if (document.all) {
tempform.attachevent ("onsubmit", function () {}); //ES DECIR
}demás{
var subObj = tempform.AdDeventListener ("enviar", function () {}, falso); // Firefox
}
document.body.appendChild (tempform);
if (document.all) {
tempform.fireEtevent ("onsubmit");
}demás{
tempform.dispeChEvent (nuevo evento ("enviar"));
}
TEMPFORM.SUBMIT ();
document.body.removechild (tempform);
}
// función OpenWindow (nombre) {
// window.open ("", nombre);
//}
El número de parámetros en la función OpenPostWindow () se modifica por sí misma de acuerdo con las necesidades reales. Data1 y Data2 son los parámetros que deben aprobarse en acción. Además, los problemas de compatibilidad del navegador de eventos JavaScript deben considerarse aquí. He comentado sobre la función OpenWindow () aquí, de lo contrario abriré una página adicional en blanco (sobre: en blanco). Esto básicamente satisface las necesidades.
Lo anterior es todo el contenido compartido en este artículo, espero que les guste.