Em projetos reais, muitas vezes encontro esse requisito, isto é, para pular entre as páginas do subsistema e abrir em uma nova página. A equipe do projeto em que estou usando uma estrutura SSH, portanto os URLs são semelhantes à ação. Ação e também possui dois parâmetros (ID do sistema e nome do sistema). Os dois parâmetros são interceptados por suportes e armazenados na sessão. Há também um menu semelhante a uma árvore implementado pelo plug-in Ztree na página de subsistema aberto que exige que o ID do sistema de parâmetros seja inicializado. Use Window.open (URL, "_ Blank") diretamente, o que tornará o URL por muito tempo e também exporá alguns parâmetros. Portanto, quero usar o POST para enviar, ocultando a passagem dos parâmetros durante o processo de envio. Primeiro de tudo, penso no envio do Ajax, mas haverá problemas com a passagem de dois parâmetros. O envio do Ajax e Window.open () fará com que a ação seja duas vezes, então eu desistirei. Mais tarde, olhei cuidadosamente para a API Window.open () novamente, e o endereço do link foi http://www.w3school.com.cn/jsref/met_win_open.asp. window.open () é o método GET Submission por padrão. Se você deseja implementar o método de envio de postagem, deve pensar em outro método. Consulte //www.vevb.com/article/32826.htm, um método é introduzido aqui. É também um método que é frequentemente usado. Eu fiz algumas modificações com base na situação real:
A cópia do código é a seguinte:
função OpenPostWindow (URL, Nome, Data1, Data2) {
var tempform = document.createElement ("forma");
tempform.id = "tempform1";
tempform.method = "post";
tempform.action = url;
tempform.target = nome;
var hideInput1 = document.createElement ("input");
hideinput1.type = "Hidden";
hideInput1.name = "XTID";
hideInput1.value = data1;
var hideInput2 = document.createElement ("input");
hideInput2.Type = "Hidden";
hideInput2.name = "xtmc";
hideInput2.Value = Data2;
tempform.appendchild (hideinput1);
tempform.appendchild (hideinput2);
if (document.all) {
tempform.attachevent ("onSubmit", function () {}); // ou seja
}outro{
var subobj = tempform.addeventListener ("submeter", function () {}, false); // Firefox
}
document.body.appendChild (tempform);
if (document.all) {
tempform.fireevent ("Onsubmit");
}outro{
tempform.dispatchEvent (novo evento ("submeter"));
}
tempform.submit ();
document.body.removeChild (tempform);
}
// function OpenWindow (nome) {
// window.open ("", nome);
//}
O número de parâmetros na função OpenPostWindow () é modificado por si mesmo, de acordo com as necessidades reais. Data1 e Data2 são os parâmetros que precisam ser aprovados em ação. Além disso, os problemas de compatibilidade do navegador JavaScript precisam ser considerados aqui. Comentei sobre a função OpenWindow () aqui, caso contrário, abrirei uma página em branco extra (sobre: em branco). Isso basicamente atende às necessidades.
O exposto acima é todo o conteúdo compartilhado neste artigo, espero que gostem.