Maison > interface Web > js tutoriel > le corps du texte

js utilise la méthode post pour ouvrir une nouvelle compétence window_javascript

WBOY
Libérer: 2016-05-16 16:12:47
original
1493 Les gens l'ont consulté

Généralement, ouvrir une nouvelle fenêtre en js est très simple, il suffit de window.open(url);

Mais comme je souhaite transmettre des paramètres au serveur, que les paramètres semblent être une longue chaîne et que la longueur des paramètres soumis dans la méthode get est limitée, j'ai donc les exigences suivantes :

1. Implémenter la soumission des publications en js

2. La page renvoyée sera affichée dans une nouvelle fenêtre

J'ai d'abord fait ceci :

Copier le code Le code est le suivant :
$.ajax({
Tapez : "POST",
                     url : '${contextPath}/analyse/detail.do', 
                          données : {carNum:carNum,ids:refIds}, 
Succès : function(str_response) { var obj = window.open("about:blank");                                                                                                                                                                                                                                                                                                                 } );



Soumises via jQuery ajax, les données renvoyées sont écrites dans une nouvelle page, mais comme le navigateur intercepte la fenêtre contextuelle automatique, l'utilisateur doit la débloquer lui-même et l'expérience utilisateur est très mauvaise,
Puis je l'ai implémenté en simulant la soumission d'un formulaire

Copier le code

Le code est le suivant : 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();                                                                  }


Remarque : Si vous souhaitez ouvrir une nouvelle fenêtre, l'attribut cible du formulaire doit être défini sur '_blank'

Ensuite, demandez post('${contextPath}/analyse/detail.do',{carNum:carNum,ids:refIds});
Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal